![]() |
NANO102/112 BSP V3.03.003
The Board Support Package for Nano102/112 Series
|
Macros | |
#define | UART_BAUD_MODE0 (0) |
Calculate UART baudrate mode0 divider. More... | |
#define | UART_BAUD_MODE1 (UART_BAUD_DIV_16_EN_Msk) |
Calculate UART baudrate mode0 divider. More... | |
#define | UART_BAUD_MODE1_DIVIDER(u32SrcFreq, u32BaudRate) (((u32SrcFreq + (u32BaudRate*8)) / u32BaudRate >> 4)-1) |
Calculate UART baudrate mode0 divider. More... | |
#define | UART_BAUD_MODE0_DIVIDER(u32SrcFreq, u32BaudRate) (((u32SrcFreq + (u32BaudRate/2)) / u32BaudRate)-1) |
Calculate UART baudrate mode2 divider. More... | |
#define | UART_WRITE(uart, u8Data) (uart->THR = (u8Data)) |
Write Data to Tx data register. More... | |
#define | UART_READ(uart) (uart->RBR) |
Read Rx data register. More... | |
#define | UART_GET_TX_EMPTY(uart) (uart->FSR & UART_FSR_TX_EMPTY_F_Msk) |
Get Tx empty register value. More... | |
#define | UART_GET_RX_EMPTY(uart) (uart->FSR & UART_FSR_RX_EMPTY_F_Msk) |
Get Rx empty register value. More... | |
#define | UART_IS_TX_EMPTY(uart) ((uart->FSR & UART_FSR_TE_F_Msk) >> UART_FSR_TE_F_Pos) |
Check specified UART port transmission is over. More... | |
#define | UART_WAIT_TX_EMPTY(uart) while(!((uart->FSR) & (UART_FSR_TX_EMPTY_F_Msk | UART_FSR_TE_F_Msk)) ) |
Wait specified UART port transmission is over. More... | |
#define | UART_IS_RX_READY(uart) ((uart->ISR & UART_ISR_RDA_IS_Msk)>>UART_ISR_RDA_IS_Pos) |
Check RDA_IF is set or not. More... | |
#define | UART_IS_TX_FULL(uart) ((uart->FSR & UART_FSR_TX_FULL_F_Msk)>>UART_FSR_TX_FULL_F_Pos) |
Check TX FIFO is full or not. More... | |
#define | UART_IS_RX_FULL(uart) ((uart->FSR & UART_FSR_RX_FULL_F_Msk)>>UART_FSR_RX_FULL_F_Pos) |
Check RX FIFO is full or not. More... | |
#define | UART_GET_TX_FULL(uart) (uart->FSR & UART_FSR_TX_FULL_F_Msk) |
Get Tx full register value. More... | |
#define | UART_GET_RX_FULL(uart) (uart->FSR & UART_FSR_RX_FULL_F_Msk) |
Get Rx full register value. More... | |
#define | UART_SET_RX_FIFO_INTTRGLV(uart, u32TriggerLevel) ((uart)->TLCTL = ((uart)->TLCTL & ~UART_TLCTL_RFITL_Msk) | (u32TriggerLevel)) |
Set Rx FIFO interrupt Trigger Level. More... | |
#define | UART_ENABLE_INT(uart, u32eIntSel) (uart->IER |= (u32eIntSel)) |
Enable specified interrupt. More... | |
#define | UART_DISABLE_INT(uart, u32eIntSel) (uart->IER &= ~ (u32eIntSel)) |
Disable specified interrupt. More... | |
#define | UART_GET_INT_FLAG(uart, u32eIntTypeFlag) ((uart->ISR & (u32eIntTypeFlag))?1:0) |
Get specified interrupt flag/status. More... | |
#define | UART_RS485_CLEAR_ADDR_FLAG(uart) (uart->TRSR = UART_TRSR_RS485_ADDET_F_Msk) |
Clear RS-485 Address Byte Detection Flag. More... | |
#define | UART_RS485_GET_ADDR_FLAG(uart) ((uart->TRSR & UART_TRSR_RS485_ADDET_F_Msk) >> UART_TRSR_RS485_ADDET_F_Pos) |
Get RS-485 Address Byte Detection Flag. More... | |
Functions | |
__INLINE void | UART_CLEAR_RTS (UART_T *uart) |
Set RTS pin is low. More... | |
__INLINE void | UART_SET_RTS (UART_T *uart) |
Set RTS pin is high. More... | |
void | UART_ClearIntFlag (UART_T *uart, uint32_t u32InterruptFlag) |
The function is used to clear UART specified interrupt flag. More... | |
void | UART_Close (UART_T *uart) |
The function is used to disable UART. More... | |
void | UART_DisableFlowCtrl (UART_T *uart) |
The function is used to disable UART auto flow control. More... | |
void | UART_DisableInt (UART_T *uart, uint32_t u32InterruptFlag) |
The function is used to disable UART specified interrupt. More... | |
void | UART_EnableFlowCtrl (UART_T *uart) |
The function is used to Enable UART auto flow control. More... | |
void | UART_EnableInt (UART_T *uart, uint32_t u32InterruptFlag) |
The function is used to enable UART specified interrupt. More... | |
void | UART_Open (UART_T *uart, uint32_t u32baudrate) |
This function use to enable UART function and set baud-rate. More... | |
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. More... | |
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. More... | |
void | UART_SetTimeoutCnt (UART_T *uart, uint32_t u32TOC) |
This function use to set Rx timeout count. More... | |
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. More... | |
void | UART_SelectRS485Mode (UART_T *uart, uint32_t u32Mode, uint32_t u32Addr) |
The function is used to set RS485 relative setting. More... | |
void | UART_SelectLINMode (UART_T *uart, uint32_t u32Mode, uint32_t u32BreakLength) |
Select and configure LIN function. More... | |
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. More... | |
uint32_t | SysGet_PLLClockFreq (void) |
Calculate current PLL clock frequency. More... | |
#define UART_BAUD_MODE0 (0) |
#define UART_BAUD_MODE0_DIVIDER | ( | u32SrcFreq, | |
u32BaudRate | |||
) | (((u32SrcFreq + (u32BaudRate/2)) / u32BaudRate)-1) |
#define UART_BAUD_MODE1 (UART_BAUD_DIV_16_EN_Msk) |
#define UART_BAUD_MODE1_DIVIDER | ( | u32SrcFreq, | |
u32BaudRate | |||
) | (((u32SrcFreq + (u32BaudRate*8)) / u32BaudRate >> 4)-1) |
#define UART_DISABLE_INT | ( | uart, | |
u32eIntSel | |||
) | (uart->IER &= ~ (u32eIntSel)) |
Disable specified interrupt.
[in] | uart | The base address of UART module |
[in] | u32eIntSel | Interrupt type select
|
#define UART_ENABLE_INT | ( | uart, | |
u32eIntSel | |||
) | (uart->IER |= (u32eIntSel)) |
Enable specified interrupt.
[in] | uart | The base address of UART module |
[in] | u32eIntSel | Interrupt type select
|
#define UART_GET_INT_FLAG | ( | uart, | |
u32eIntTypeFlag | |||
) | ((uart->ISR & (u32eIntTypeFlag))?1:0) |
Get specified interrupt flag/status.
[in] | uart | The base address of UART module |
[in] | u32eIntTypeFlag | Interrupt Type Flag,should be
|
#define UART_GET_RX_EMPTY | ( | uart | ) | (uart->FSR & UART_FSR_RX_EMPTY_F_Msk) |
#define UART_GET_RX_FULL | ( | uart | ) | (uart->FSR & UART_FSR_RX_FULL_F_Msk) |
#define UART_GET_TX_EMPTY | ( | uart | ) | (uart->FSR & UART_FSR_TX_EMPTY_F_Msk) |
#define UART_GET_TX_FULL | ( | uart | ) | (uart->FSR & UART_FSR_TX_FULL_F_Msk) |
#define UART_IS_RX_FULL | ( | uart | ) | ((uart->FSR & UART_FSR_RX_FULL_F_Msk)>>UART_FSR_RX_FULL_F_Pos) |
#define UART_IS_RX_READY | ( | uart | ) | ((uart->ISR & UART_ISR_RDA_IS_Msk)>>UART_ISR_RDA_IS_Pos) |
#define UART_IS_TX_EMPTY | ( | uart | ) | ((uart->FSR & UART_FSR_TE_F_Msk) >> UART_FSR_TE_F_Pos) |
#define UART_IS_TX_FULL | ( | uart | ) | ((uart->FSR & UART_FSR_TX_FULL_F_Msk)>>UART_FSR_TX_FULL_F_Pos) |
#define UART_READ | ( | uart | ) | (uart->RBR) |
#define UART_RS485_CLEAR_ADDR_FLAG | ( | uart | ) | (uart->TRSR = UART_TRSR_RS485_ADDET_F_Msk) |
#define UART_RS485_GET_ADDR_FLAG | ( | uart | ) | ((uart->TRSR & UART_TRSR_RS485_ADDET_F_Msk) >> UART_TRSR_RS485_ADDET_F_Pos) |
#define UART_SET_RX_FIFO_INTTRGLV | ( | uart, | |
u32TriggerLevel | |||
) | ((uart)->TLCTL = ((uart)->TLCTL & ~UART_TLCTL_RFITL_Msk) | (u32TriggerLevel)) |
Set Rx FIFO interrupt Trigger Level.
uart | The base address of UART module |
u32TriggerLevel | RX FIFO interrupt Trigger Level. ( UART_TLCTL_RFITL_1BYTE / UART_TLCTL_RFITL_4BYTES / UART_TLCTL_RFITL_8BYTES / UART_TLCTL_RFITL_14BYTES ) |
#define UART_WAIT_TX_EMPTY | ( | uart | ) | while(!((uart->FSR) & (UART_FSR_TX_EMPTY_F_Msk | UART_FSR_TE_F_Msk)) ) |
#define UART_WRITE | ( | uart, | |
u8Data | |||
) | (uart->THR = (u8Data)) |
uint32_t SysGet_PLLClockFreq | ( | void | ) |
Calculate current PLL clock frequency.
None. |
Definition at line 28 of file system_Nano1X2Series.c.
__INLINE void UART_CLEAR_RTS | ( | UART_T * | uart | ) |
void UART_ClearIntFlag | ( | UART_T * | uart, |
uint32_t | u32InterruptFlag | ||
) |
void UART_Close | ( | UART_T * | uart | ) |
void UART_DisableFlowCtrl | ( | UART_T * | uart | ) |
void UART_DisableInt | ( | UART_T * | uart, |
uint32_t | u32InterruptFlag | ||
) |
The function is used to disable UART specified interrupt.
[in] | uart | The base address of UART module. |
[in] | u32InterruptFlag | The specified interrupt of UART module.
|
void UART_EnableFlowCtrl | ( | UART_T * | uart | ) |
void UART_EnableInt | ( | UART_T * | uart, |
uint32_t | u32InterruptFlag | ||
) |
The function is used to enable UART specified interrupt.
[in] | uart | The base address of UART module. |
[in] | u32InterruptFlag | The specified interrupt of UART module:
|
void UART_Open | ( | UART_T * | uart, |
uint32_t | u32baudrate | ||
) |
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.
[in] | uart | The base address of UART module. |
[out] | pu8RxBuf | The buffer to receive the data of receive FIFO. |
[in] | u32ReadBytes | The the read bytes number of data. |
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.
[in] | uart | The base address of UART module. |
[in] | u32Buadrate | The baudrate of UART module. |
[in] | u32Direction | The direction(transmit:1/receive:0) of UART module in IrDA mode. |
Definition at line 321 of file uart.c.
void UART_SelectLINMode | ( | UART_T * | uart, |
uint32_t | u32Mode, | ||
uint32_t | u32BreakLength | ||
) |
Select and configure LIN function.
[in] | uart | The pointer of the specified UART module. |
[in] | u32Mode | The LIN direction :
|
[in] | u32BreakLength | The breakfield length. |
The function is used to set LIN relative setting.
void UART_SelectRS485Mode | ( | UART_T * | uart, |
uint32_t | u32Mode, | ||
uint32_t | u32Addr | ||
) |
The function is used to set RS485 relative setting.
[in] | uart | The base address of UART module. |
[in] | u32Mode | The operation mode( UART_ALT_CTL_RS485_NMM_Msk / UART_ALT_CTL_RS485_AUD_Msk / UART_ALT_CTL_RS485_AAD_Msk). |
[in] | u32Addr | The RS485 address. |
__INLINE void UART_SET_RTS | ( | UART_T * | uart | ) |
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.
[in] | uart | The base address of UART module. |
[in] | u32baudrate | The register value of baudrate of UART module. if u32baudrate = 0, UART baudrate will not change. |
[in] | u32data_width | The data length of UART module. |
[in] | u32parity | The parity setting (odd/even/none) of UART module. |
[in] | u32stop_bits | The stop bit length (1/1.5 bit) of UART module. |
Definition at line 257 of file uart.c.
void UART_SetTimeoutCnt | ( | UART_T * | uart, |
uint32_t | u32TOC | ||
) |
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.
[in] | uart | The base address of UART module. |
[in] | pu8TxBuf | The buffer to send the data to UART transmission FIFO. |
[in] | u32WriteBytes | The byte number of data. |