45 #ifndef DEF_UART_DEF_H 46 #define DEF_UART_DEF_H 49 #if defined(__ADUCM302x__) 51 #define INTR_UART0_EVT INTR_UART_EVT 52 #define UART0_Int_Handler(void) UART_Int_Handler(void) 53 #define DMA_UART0_TX_Int_Handler(void) DMA_UART_TX_Int_Handler(void) 54 #define DMA_UART0_RX_Int_Handler(void) DMA_UART_RX_Int_Handler(void) 64 typedef struct UART_BUFF_INFO
71 struct UART_BUFF_INFO *pNextBuffer;
79 ADI_UART_BUFF_INFO *
const pBuffer
91 typedef struct _ADI_UART_DATA_CHANNEL
93 ADI_UART_BUFF_INFO PingPong[2];
94 ADI_UART_BUFF_INFO *pFreeBuffer;
95 ADI_UART_BUFF_INFO *pFillBuffer;
98 ADI_UART_BUFF_INFO *pActiveBuffer;
100 UART_BUFFER_SUBMIT pfSubmitBuffer;
103 }ADI_UART_DATA_CHANNEL;
112 typedef struct _ADI_UART_DEVICE_INFO
114 DMA_CHANn_TypeDef dmaTxChannelNum;
115 DMA_CHANn_TypeDef dmaRxChannelNum;
119 ADI_UART_TypeDef *pUartRegs;
122 }ADI_UART_DEVICE_INFO;
131 typedef struct _ADI_UART_DEVICE
134 ADI_UART_DEVICE_INFO *pUartInfo;
135 volatile ADI_UART_TypeDef *pUARTRegs;
136 ADI_CALLBACK pfCallback;
138 bool bAutobaudInProgress;
139 volatile uint32_t nHwError;
140 volatile uint32_t nAutobaudError;
141 ADI_UART_DATA_CHANNEL *pChannelTx;
142 ADI_UART_DATA_CHANNEL *pChannelRx;
143 volatile uint32_t nBaudRate;
144 bool bAutobaudCallbackMode;
156 typedef struct _ADI_UART_CONFIG
188 static void uart_submittxbuffer(
ADI_UART_CONST_HANDLE const hDevice, ADI_UART_BUFF_INFO *
const pBuffer);
190 static void uart_submitrxbuffer(
ADI_UART_CONST_HANDLE const hDevice, ADI_UART_BUFF_INFO *
const pBuffer);
204 static void uart_RxDataHandler(
ADI_UART_HANDLE hDevice, uint8_t nBytes);
struct _ADI_UART_DEVICE * ADI_UART_HANDLE
const struct _ADI_UART_DEVICE * ADI_UART_CONST_HANDLE