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