40 if(u32InterruptFlag & UART_ISR_RLS_INT_Msk)
42 uart->
FSR |= UART_FSR_BIF_Msk | UART_FSR_FEF_Msk | UART_FSR_PEF_Msk;
43 uart->
FSR |= UART_FSR_RS485_ADD_DETF_Msk;
46 if(u32InterruptFlag & UART_ISR_MODEM_INT_Msk)
47 uart->
MSR |= UART_MSR_DCTSF_Msk;
49 if(u32InterruptFlag & UART_ISR_BUF_ERR_INT_Msk)
51 uart->
FSR |= UART_FSR_RX_OVER_IF_Msk | UART_FSR_TX_OVER_IF_Msk;
54 if(u32InterruptFlag & UART_ISR_TOUT_INT_Msk)
55 uart->
ISR |= UART_ISR_TOUT_IF_Msk;
82 uart->
IER &= ~(UART_IER_AUTO_RTS_EN_Msk | UART_IER_AUTO_CTS_EN_Msk);
104 uart->
IER &= ~ u32InterruptFlag;
118 uart->
MCR |= UART_MCR_LEV_RTS_Msk;
119 uart->
MCR &= UART_MCR_RTS_Msk;
120 uart->
MSR |= UART_MSR_LEV_CTS_Msk;
121 uart->
IER |= UART_IER_AUTO_RTS_EN_Msk | UART_IER_AUTO_CTS_EN_Msk;
143 uart->
IER |= u32InterruptFlag;
157 uint8_t u8UartClkSrcSel;
159 uint32_t u32Baud_Div;
160 u8UartClkSrcSel = (
CLK->CLKSEL1 & CLK_CLKSEL1_UART_S_Msk) >> CLK_CLKSEL1_UART_S_Pos;
170 if(u32Baud_Div > 0xFFFF)
190 uint32_t u32Count, u32delayno;
192 for(u32Count=0; u32Count < u32ReadBytes; u32Count++)
196 while(uart->
FSR & UART_FSR_RX_EMPTY_Msk)
199 if( u32delayno >= 0x40000000 )
202 pu8RxBuf[u32Count] = uart->
RBR;
224 uint8_t u8UartClkSrcSel;
226 uint32_t u32Baud_Div = 0;
227 u8UartClkSrcSel = (
CLK->CLKSEL1 & CLK_CLKSEL1_UART_S_Msk) >> CLK_CLKSEL1_UART_S_Pos;
233 if(u32Baud_Div > 0xFFFF)
239 uart->
LCR = u32data_width | u32parity | u32stop_bits;
253 uart->
TOR = (uart->
TOR & ~UART_TOR_TOIC_Msk)| (u32TOC);
254 uart->
IER |= UART_IER_TIME_OUT_EN_Msk;
271 uart->
IRCR &= ~UART_IRCR_INV_TX_Msk;
272 uart->
IRCR |= UART_IRCR_INV_RX_Msk;
273 uart->
IRCR = u32Direction ? uart->
IRCR | UART_IRCR_TX_SELECT_Msk : uart->
IRCR &~ UART_IRCR_TX_SELECT_Msk;
274 uart->
FUN_SEL = (0x2 << UART_FUN_SEL_FUN_SEL_Pos);
291 uart->
ALT_CSR |= u32Mode | (u32Addr << UART_ALT_CSR_ADDR_MATCH_Pos);
306 uint32_t u32Count, u32delayno;
308 for(u32Count=0; u32Count != u32WriteBytes; u32Count++)
311 while((uart->
FSR & UART_FSR_TE_FLAG_Msk) == 0)
314 if( u32delayno >= 0x40000000 )
317 uart->
THR = pu8TxBuf[u32Count];
NUC029FAE peripheral access layer header file. This file contains all the peripheral register's defin...
#define CLK
Pointer to CLK register structure.
#define UART_FCR_RTS_TRI_LEV_1BYTE
#define UART_FUNC_SEL_UART
#define UART_FUNC_SEL_RS485
#define UART_FCR_RFITL_1BYTE
void UART_SelectRS485Mode(UART_T *uart, uint32_t u32Mode, uint32_t u32Addr)
The function is used to set RS485 relative setting.
void UART_EnableInt(UART_T *uart, uint32_t u32InterruptFlag)
The function is used to enable UART specified interrupt and disable NVIC UART IRQ.
#define UART_BAUD_MODE2
Calculate UART baudrate mode0 divider.
#define UART_BAUD_MODE0
Calculate UART baudrate mode0 divider.
void UART_SetTimeoutCnt(UART_T *uart, uint32_t u32TOC)
This function use to set Rx timeout count.
void UART_Close(UART_T *uart)
The function is used to disable UART.
#define UART_BAUD_MODE0_DIVIDER(u32SrcFreq, u32BaudRate)
Calculate UART baudrate mode0 divider.
void UART_ClearIntFlag(UART_T *uart, uint32_t u32InterruptFlag)
The function is used to clear UART specified interrupt flag.
void UART_DisableFlowCtrl(UART_T *uart)
The function is used to disable UART auto flow control.
void UART_EnableFlowCtrl(UART_T *uart)
The function is used to Enable UART auto flow control.
uint32_t UART_Write(UART_T *uart, uint8_t *pu8TxBuf, uint32_t u32WriteBytes)
The function is to write data into TX buffer to transmit data by UART.
#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)
This function use to config UART line setting.
void UART_DisableInt(UART_T *uart, uint32_t u32InterruptFlag)
The function is used to disable UART specified interrupt and disable NVIC UART IRQ.
void UART_SelectIrDAMode(UART_T *uart, uint32_t u32Buadrate, uint32_t u32Direction)
The function is used to configure IrDA relative settings. It consists of TX or RX mode and baudrate.
uint32_t UART_Read(UART_T *uart, uint8_t *pu8RxBuf, uint32_t u32ReadBytes)
The function is used to read Rx data from RX FIFO and the data will be stored in pu8RxBuf.
void UART_Open(UART_T *uart, uint32_t u32baudrate)
This function use to enable UART function and set baud-rate.
#define FALSE
Boolean false, define to use in API parameters or return value.