185 uint8_t u8UartClkSrcSel, u8UartClkDivNum;
187 uint32_t u32Baud_Div = 0;
205 if(u8UartClkSrcSel == 1)
213 if(u32Baud_Div > 0xFFFF)
234 uint32_t u32Count, u32delayno;
236 for(u32Count = 0; u32Count < u32ReadBytes; u32Count++)
243 if(u32delayno >= 0x40000000)
246 pu8RxBuf[u32Count] = uart->
DAT;
282 uint8_t u8UartClkSrcSel, u8UartClkDivNum;
284 uint32_t u32Baud_Div = 0;
293 if(u8UartClkSrcSel == 1)
301 if(u32Baud_Div > 0xFFFF)
308 uart->
LINE = u32data_width | u32parity | u32stop_bits;
325 uart->
TOUT = (uart->
TOUT & ~UART_TOUT_TOIC_Msk) | (u32TOC);
347 uint8_t u8UartClkSrcSel, u8UartClkDivNum;
349 uint32_t u32Baud_Div;
361 if(u8UartClkSrcSel == 1)
369 if(u32Baud_Div < 0xFFFF)
377 uart->
IRDA &= ~UART_IRDA_TXEN_Msk;
381 uart->
IRDA &= ~UART_IRDA_TXINV_Msk;
428 uint32_t u32Count, u32delayno;
429 uint32_t u32Exit = 0ul;
431 for (u32Count = 0ul; u32Count != u32WriteBytes; u32Count++)
439 if (u32delayno >= 0x40000000ul)
452 uart->
DAT = pu8TxBuf[u32Count];
#define UART_FIFOSTS_BIF_Msk
#define UART_FIFOSTS_TXOVIF_Msk
#define UART_FIFOSTS_RXOVIF_Msk
#define UART_INTEN_ATORTSEN_Msk
#define UART_INTSTS_BUFERRINT_Msk
#define UART_ALTCTL_ADDRMV_Msk
#define UART_FIFOSTS_TXFULL_Msk
#define UART_ALTCTL_ADDRMV_Pos
#define UART_FIFOSTS_ADDRDETF_Msk
#define UART_ALTCTL_RS485AUD_Msk
#define UART_IRDA_RXINV_Msk
#define UART_INTSTS_CTSWKIF_Msk
#define UART_FIFO_RFITL_Msk
#define UART_INTSTS_MODEMINT_Msk
#define UART_INTEN_ATOCTSEN_Msk
#define UART_INTSTS_RLSINT_Msk
#define UART_MODEM_RTSACTLV_Msk
#define UART_ALTCTL_RS485NMM_Msk
#define UART_INTSTS_DATWKIF_Msk
#define UART_FIFOSTS_RXEMPTY_Msk
#define UART_FIFOSTS_PEF_Msk
#define UART_MODEMSTS_CTSDETF_Msk
#define UART_FIFOSTS_FEF_Msk
#define UART_FIFO_RTSTRGLV_Msk
#define UART_ALTCTL_RS485AAD_Msk
#define UART_IRDA_TXEN_Msk
#define UART_MODEMSTS_CTSACTLV_Msk
#define UART_INTEN_TOCNTEN_Msk
NuMicro peripheral access layer header file.
__STATIC_INLINE uint32_t CLK_GetPLLClockFreq(void)
Get PLL clock frequency.
#define CLK_CLKDIV0_UARTDIV_Pos
#define CLK_CLKSEL1_UARTSEL_Msk
#define CLK_CLKDIV0_UARTDIV_Msk
#define CLK_CLKSEL1_UARTSEL_Pos
#define UART_FUNCSEL_IrDA
#define UART_FUNCSEL_RS485
#define UART_FUNCSEL_UART
void UART_SelectRS485Mode(UART_T *uart, uint32_t u32Mode, uint32_t u32Addr)
Select and configure RS485 function.
void UART_EnableInt(UART_T *uart, uint32_t u32InterruptFlag)
The function is used to enable UART specified interrupt and enable NVIC UART IRQ.
void UART_SetTimeoutCnt(UART_T *uart, uint32_t u32TOC)
Set Rx timeout count.
void UART_Close(UART_T *uart)
Disable UART interrupt.
#define UART_BAUD_MODE0_DIVIDER(u32SrcFreq, u32BaudRate)
Calculate UART baudrate mode0 divider.
#define UART_DISABLE_INT(uart, u32eIntSel)
Disable specified UART interrupt.
void UART_ClearIntFlag(UART_T *uart, uint32_t u32InterruptFlag)
Clear UART specified interrupt flag.
void UART_DisableFlowCtrl(UART_T *uart)
Disable UART auto flow control function.
void UART_EnableFlowCtrl(UART_T *uart)
Enable UART auto flow control function.
uint32_t UART_Write(UART_T *uart, uint8_t *pu8TxBuf, uint32_t u32WriteBytes)
Write UART data.
#define UART_BAUD_MODE2_DIVIDER(u32SrcFreq, u32BaudRate)
Calculate UART baudrate mode2 divider.
void UART_SetLine_Config(UART_T *uart, uint32_t u32baudrate, uint32_t u32data_width, uint32_t u32parity, uint32_t u32stop_bits)
Set UART line configuration.
void UART_DisableInt(UART_T *uart, uint32_t u32InterruptFlag)
Disable UART specified interrupt.
void UART_SelectIrDAMode(UART_T *uart, uint32_t u32Buadrate, uint32_t u32Direction)
Select and configure IrDA function.
uint32_t UART_Read(UART_T *uart, uint8_t *pu8RxBuf, uint32_t u32ReadBytes)
Read UART data.
void UART_Open(UART_T *uart, uint32_t u32baudrate)
Open and set UART function.
#define UART_ENABLE_INT(uart, u32eIntSel)
Enable specified UART interrupt.