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

Fixed task watchdog trigger issue when closed hci uart

zhaoweiliang 3 лет назад
Родитель
Сommit
98c487233c
1 измененных файлов с 4 добавлено и 1 удалено
  1. 4 1
      components/bt/porting/transport/uart/hci_uart.c

+ 4 - 1
components/bt/porting/transport/uart/hci_uart.c

@@ -1,5 +1,5 @@
 /*
 /*
- * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+ * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  *
  *
  * SPDX-License-Identifier: Apache-2.0
  * SPDX-License-Identifier: Apache-2.0
  */
  */
@@ -176,9 +176,12 @@ int hci_uart_init_cbs(int port_num, hci_uart_tx_char tx_func,
 
 
 int hci_uart_close(int port_num)
 int hci_uart_close(int port_num)
 {
 {
+    uart_event_t uart_event;
+    uart_event.type = UART_BREAK;
     hci_uart.uart_opened = false;
     hci_uart.uart_opened = false;
     // Stop uart rx task
     // Stop uart rx task
     if (hci_uart.rx_task_handler != NULL) {
     if (hci_uart.rx_task_handler != NULL) {
+        xQueueSend(hci_uart.evt_queue, (void *)&uart_event, 1000);
         ESP_LOGW(TAG, "Waiting for uart task finish...");
         ESP_LOGW(TAG, "Waiting for uart task finish...");
     }
     }
     while (hci_uart.rx_task_handler != NULL);
     while (hci_uart.rx_task_handler != NULL);