14 #ifndef DEF_UART_DEF_H 15 #define DEF_UART_DEF_H 18 #if defined(__ADUCM302x__) 20 #define INTR_UART0_EVT INTR_UART_EVT 21 #define UART0_Int_Handler(void) UART_Int_Handler(void) 22 #define DMA_UART0_TX_Int_Handler(void) DMA_UART_TX_Int_Handler(void) 23 #define DMA_UART0_RX_Int_Handler(void) DMA_UART_RX_Int_Handler(void) 33 typedef struct UART_BUFF_INFO
38 uint32_t nRemDoneTransfers;
42 struct UART_BUFF_INFO *pNextBuffer;
49 ADI_UART_BUFF_INFO *
const pBuffer
61 typedef struct _ADI_UART_DATA_CHANNEL
63 ADI_UART_BUFF_INFO PingPong[2];
64 ADI_UART_BUFF_INFO *pFreeBuffer;
65 ADI_UART_BUFF_INFO *pFillBuffer;
68 ADI_UART_BUFF_INFO *pActiveBuffer;
70 UART_BUFFER_SUBMIT pfSubmitBuffer;
71 uint8_t nFreeDescriptor;
75 }ADI_UART_DATA_CHANNEL;
84 typedef struct _ADI_UART_DEVICE_INFO
86 DMA_CHANn_TypeDef dmaTxChannelNum;
87 DMA_CHANn_TypeDef dmaRxChannelNum;
91 ADI_UART_TypeDef *pUartRegs;
94 }ADI_UART_DEVICE_INFO;
103 typedef struct _ADI_UART_DEVICE
106 ADI_UART_DEVICE_INFO *pUartInfo;
107 volatile ADI_UART_TypeDef *pUARTRegs;
108 ADI_CALLBACK pfCallback;
110 bool bAutobaudInProgress;
111 volatile uint32_t nHwError;
112 volatile uint32_t nAutobaudError;
113 ADI_UART_DATA_CHANNEL *pChannelTx;
114 ADI_UART_DATA_CHANNEL *pChannelRx;
115 volatile uint32_t nBaudRate;
116 bool bAutobaudCallbackMode;
128 typedef struct _ADI_UART_CONFIG
160 static void uart_submittxbuffer(
ADI_UART_CONST_HANDLE const hDevice, ADI_UART_BUFF_INFO *
const pBuffer);
162 static void uart_submitrxbuffer(
ADI_UART_CONST_HANDLE const hDevice, ADI_UART_BUFF_INFO *
const pBuffer);
176 static void uart_RxDataHandler(
ADI_UART_HANDLE hDevice, uint8_t nBytes);
184 #if defined(ADI_UART_DMA_EXTENSION_ENABLE) && (ADI_UART_DMA_EXTENSION_ENABLE == 1) 195 #if defined(ADI_UART_DMA_EXTENSION_ENABLE) && (ADI_UART_DMA_EXTENSION_ENABLE == 1)
struct _ADI_UART_DEVICE * ADI_UART_HANDLE
const struct _ADI_UART_DEVICE * ADI_UART_CONST_HANDLE