Просмотр исходного кода

Fix uart tx bug, data pass(with flow control) through test ok.

Wangjialin 9 лет назад
Родитель
Сommit
4f4c9030fd
2 измененных файлов с 3 добавлено и 1 удалено
  1. 1 1
      components/driver/uart.c
  2. 2 0
      components/esp32/include/esp_err.h

+ 1 - 1
components/driver/uart.c

@@ -729,7 +729,7 @@ static int uart_tx_all(uart_port_t uart_num, const char* src, size_t size, bool
         } else {
             evt.type = UART_DATA;
         }
-        xRingbufferSend(p_uart_obj[uart_num]->tx_ring_buf, (void*) &evt, sizeof(uart_event_t), portMAX_DELAY);
+        xRingbufferSend(p_uart_obj[uart_num]->tx_ring_buf, (void*) &evt, sizeof(uart_tx_data_t), portMAX_DELAY);
         while(size > 0) {
             int send_size = size > max_size / 2 ? max_size / 2 : size;
             xRingbufferSend(p_uart_obj[uart_num]->tx_ring_buf, (void*) (src + offset), send_size, portMAX_DELAY);

+ 2 - 0
components/esp32/include/esp_err.h

@@ -34,6 +34,8 @@ typedef int32_t esp_err_t;
 #define ESP_ERR_INVALID_SIZE    0x104
 #define ESP_ERR_NOT_FOUND       0x105
 #define ESP_ERR_NOT_SUPPORTED   0x106
+#define ESP_ERR_TIMEOUT         0x107
+
 
 #define ESP_ERR_WIFI_BASE       0x3000 /*!< Starting number of WiFi error codes */