#ifndef BSP_UART_H #define BSP_UART_H #include "bsp_config.h" #ifdef USE_UART #include "com.h" #include "usart.h" #include "main.h" #ifdef CONFIG_UART_IT_IDLEDMA #include "dma.h" #endif #define CONFIG_UART_BUFFER_SIZE 128 typedef struct { UART_HandleTypeDef *m_uart; DMA_HandleTypeDef *m_hdma_rx; }TUartTab; typedef struct { uint32_t m_buf_size; UART_HandleTypeDef *m_uart; #ifdef CONFIG_UART_IT_IDLEDMA DMA_HandleTypeDef *m_hdma_rx; uint8_t *m_dma_rx_buf; uint16_t m_last_dma_pos; #else uint8_t m_temp; #endif }TUartUserData; extern TUartUserData *UART_userdata_init(int _iID, uint32_t _uiBaudRate, uint32_t _uiSize); extern void UART_IT_init(TComCtrl *_ptComCtrl); extern void UART_DMA_RX_IRQHandler(TComCtrl *_ptComCtrl); extern void UART_RX_IRQHandler(TComCtrl *_ptComCtrl); #endif #endif /* end of include guard: BSP_UART_H */