4 uart_event_t event; 5 size_t buffered_size; 6 uint8_t* dtmp = (uint8_t*) malloc(BUF_SIZE); 7 for(;;) { 8 //Waiting for UART event. 9 if(xQueueReceive(uart0_queue, (void * )&event, (portTickType)portMAX_DELAY)) { 10 ESP_LOGI(TAG, "uart[%d] event:", uart_num...
uart_pattern_queue_reset(UART_NUM_1, 20); uart_pattern_queue_reset(UART_NUM_2, 20); while (1) { if (xQueueReceive(uart0_queue, (uint32_t *) &uart0_event, 0)) { uart_event_handle(UART_NUM_0, uart0_queue, &uart0_event); } if (xQueueReceive(uart1_queue, (uint32_t *) ...
intuart_read_bytes(uart_port_tuart_num,void*buf,uint32_tlength, TickType_t ticks_to_wait);//参数 : uart_num:串口编号 可查看uart.h,进行选择// buf:接收数组名// length:接收到的数据长度// ticks_to_wait:读取等待的RTOS滴答个数//返回 : -1:表示错误// 其他:表示从uart的接收fifo读取到的...
// Setup UART buffered IO with event queue const int uart_buffer_size = (1024 * 2); QueueHandle_t uart_queue; // Install UART driver using an event queue here ESP_ERROR_CHECK(uart_driver_install(UART_NUM_2, uart_buffer_size, \ uart_buffer_size, 10, &uart_queue, 0)); 5. 运行U...
esp_mqtt_client_handle_t client; static void uart_event_task(void *pvParameters) { uart_event_t event; size_t buffered_size; uint8_t* dtmp = (uint8_t*) malloc(RD_BUF_SIZE); for(;;) { //Waiting for UART event. if(xQueueReceive(uart0_queue, (void * )&event, (TickType_t)po...
staticvoiduart_event_task(void*pvParameters){uart_event_t event;for(;;){//阻塞接收串口队列,//这个队列在底层发送,用户只需在应用层接收即可if(xQueueReceive(uart_queue,(void*)&event,(portTickType)portMAX_DELAY)){switch(event.type){//各种串口事件caseUART_DATA:ESP_LOGI(TAG,"[UART DATA]: %...
Event_Create_init() { Event_Handle = xEventGroupCreate(); if (NULL != Event_Handle) { printf("事件创建成功\r\n"); } } void Event_SetBits_Function(void *arg) { BaseType_t xReturn = pdPASS; while (1) { if (gpio_get_level(Key_GPIO) == 0) { xEventGroupSetBits(...
如果没有,使用UART_PIN_NO_CHANGE 2.3 安装串口驱动 我们可以使用下面这个函数安装串口驱动: esp_err_tuart_driver_install(uart_port_tuart_num,intrx_buffer_size,inttx_buffer_size,intevent_queue_size,QueueHandle_t*uart_queue,intintr_alloc_flags) ...
1 void uart_task(void *pvParameters) 2 { 3 int uart_num = (int) pvParameters; 4 uart_event_t event; 5 size_t buffered_size; 6 uint8_t* dtmp = (uint8_t*) malloc(BUF_SIZE); 7 for(;;) { 8 //Waiting for UART event. 9 if(xQueueReceive(uart0_queue, (void * )&event, (...
ESP32-S2的引脚很多我就不一一介绍了,这一讲主要用到的UART0和USB(GPIO19,GPIO20)。 1.1 硬件连接 我这里用的是开发板,硬件连接比较简单。 UART0通过USB转TTL芯片连接到PC端。 USB通过GPIO19和GPIO20直连PC端的USB接口。 2 软件开发 2.1 安装开发板 ...