From b12f7e7c1514077ab1ac4a66b1b2cea8f3c21a56 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期一, 03 三月 2025 17:28:33 +0800
Subject: [PATCH] 初步解决按钮第二行到第四行没法相应的问题

---
 keil/include/components/hal/UART.c |   34 ++++++++++++++++------------------
 1 files changed, 16 insertions(+), 18 deletions(-)

diff --git a/keil/include/components/hal/UART.c b/keil/include/components/hal/UART.c
index afe11f7..f8a7388 100644
--- a/keil/include/components/hal/UART.c
+++ b/keil/include/components/hal/UART.c
@@ -146,7 +146,7 @@
     l_astUartInfo[_eUartID].m_mutexLock =  osMutexCreate(HIDO_NULL);
 #endif
     
-struct UART_CFG_T uart_cfg =
+    struct UART_CFG_T uart_cfg =
     {
         .parity = UART_PARITY_NONE,
         .stop = UART_STOP_BITS_1,
@@ -337,25 +337,14 @@
  *******************************************************************************/
 static void uart_receive_callback(void *dev, uint32_t err_code)
 {
-    E_UartID eUartID = (E_UartID) 0;
+    E_UartID eUartID = UART_ID_4G;
+    
+    HIDO_UINT8 u8RecvByte = l_astUartInfo[eUartID].m_u8RxValue;
 
-    for (eUartID = (E_UartID) 0; eUartID < UART_ID_LAST; eUartID++)
-    {
-        if (l_astUartInfo[eUartID].m_eUartPort == *(enum UART_DEV_T *)dev)
-        {
-            if(UART_RX_MODE_INT == l_astUartInfo[eUartID].m_eRxMode)
-            {
-                HIDO_UINT8 u8RecvByte = l_astUartInfo[eUartID].m_u8RxValue;
+    HIDO_ArraryQueueIn(&l_astUartInfo[eUartID].m_stRxArraryQueue, &u8RecvByte);
 
-                HIDO_ArraryQueueIn(&l_astUartInfo[eUartID].m_stRxArraryQueue, &u8RecvByte);
-
-                /* 启动INT接收 */
-                uart_receive(l_astUartInfo[eUartID].m_eUartPort, &l_astUartInfo[eUartID].m_u8RxValue, 1, uart_receive_callback);
-            }
-
-            break;
-        }
-    }
+    /* 启动INT接收 */
+    uart_receive(l_astUartInfo[eUartID].m_eUartPort, &l_astUartInfo[eUartID].m_u8RxValue, 1, uart_receive_callback);
 }
 
 /*******************************************************************************
@@ -472,3 +461,12 @@
 
     return i32Result;
 }
+HIDO_VOID HIDO_Lock(void)
+{
+    int_lock();
+}
+HIDO_VOID HIDO_UnLock(void)
+{
+    uint32_t lock = int_lock();
+    int_unlock(lock);
+}

--
Gitblit v1.9.3