From 67ca69985af9109a0603a1cde71f21b940c059ff Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期四, 15 五月 2025 09:12:53 +0800
Subject: [PATCH] 完全将免布线标签代码移植过来版本

---
 keil/include/components/hal/UART.h |   80 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 80 insertions(+), 0 deletions(-)

diff --git a/keil/include/components/hal/UART.h b/keil/include/components/hal/UART.h
new file mode 100644
index 0000000..8b7d662
--- /dev/null
+++ b/keil/include/components/hal/UART.h
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * File Name         : Uart.h
+ * Description       :
+ * Created on        : 2018年4月24日
+ * Author            : 杜键
+ *******************************************************************************/
+
+#ifndef HAL_UART_H_
+#define HAL_UART_H_
+/*******************************************************************************
+ *                              Include Files                                  *
+ *******************************************************************************/
+#include "HIDO_TypeDef.h"
+#include "mk_uart.h"
+
+/*******************************************************************************
+ *                                  Macro                                      *
+ *******************************************************************************/
+
+/*******************************************************************************
+ *                             Type Definition                                 *
+ *******************************************************************************/
+typedef HIDO_VOID (*FN_RxISR)(HIDO_UINT8 _u8Byte);
+
+typedef enum
+{
+    UART_TX_MODE_DMA = 0,
+    UART_TX_MODE_INT,
+    UART_TX_MODE_POLL,
+}E_UartTxMode;
+
+typedef enum
+{
+    UART_RX_MODE_DMA = 0,
+    UART_RX_MODE_INT,
+    UART_RX_MODE_INT_ISR,
+}E_UartRxMode;
+
+typedef enum
+{
+    UART_ID_DBG = 0,
+	UART_ID_LORA,
+	UART_ID_GPS,
+    UART_ID_4G,
+
+    UART_ID_LAST,
+}E_UartID;
+
+typedef struct
+{
+    E_UartTxMode m_eTxMode;
+    E_UartRxMode m_eRxMode;
+
+    HIDO_UINT8 *m_pu8RxBuf;
+    HIDO_UINT32 m_u32RxBufSize;
+
+    HIDO_UINT8 *m_pu8TxBuf;
+    HIDO_UINT32 m_u32TxBufSize;
+    HIDO_UINT32 m_u32TxQueueMemberCnt;
+    FN_RxISR m_fnRxISR;
+    
+    HIDO_UINT32 m_u32BaudRate;
+} ST_UartInit;
+
+/*******************************************************************************
+ *                             Global Function                                 *
+ *******************************************************************************/
+HIDO_INT32 Uart_GetHandle(E_UartID _eUartID, HIDO_VOID **_ppUart);
+HIDO_INT32 Uart_Register(E_UartID _eUartID, enum UART_DEV_T _ePort);
+HIDO_INT32 Uart_Init(E_UartID _eUartID, ST_UartInit *_pstInit);
+HIDO_INT32 Uart_ReInit(E_UartID _eUartID);
+HIDO_INT32 Uart_ReConfigBaudRate(E_UartID _eUartID, HIDO_UINT32 _u32BaudRate);
+HIDO_VOID Uart_RxErrorFromISR(HIDO_VOID *_pUart);
+HIDO_VOID Uart_TxOverFromISR(HIDO_VOID *_pUart);
+HIDO_VOID Uart_RxOverFromISR(HIDO_VOID *_pUart);
+HIDO_INT32 Uart_PutChar(E_UartID _eUartID, HIDO_UINT8 _u8Char);
+HIDO_INT32 Uart_GetChar(E_UartID _eUartID, HIDO_UINT8 *_pu8Char);
+HIDO_INT32 Uart_Send(E_UartID _eUartID, HIDO_UINT8 *_pu8Data, HIDO_UINT32 _u32Len);
+
+#endif /* HAL_UART_H_ */

--
Gitblit v1.9.3