![]() |
Nano100BN Series BSP
V3.03.002
The Board Support Package for Nano100BN Series
|
Macros | |
| #define | SCUART_WRITE(sc, u8Data) |
| Write Data to Tx data register. More... | |
| #define | SCUART_GET_TX_EMPTY(sc) |
| Get TX FIFO empty flag status from register. More... | |
| #define | SCUART_GET_TX_FULL(sc) |
| Get TX FIFO full flag status from register. More... | |
| #define | SCUART_WAIT_TX_EMPTY(sc) |
| Wait specified smartcard port transmission complete. More... | |
| #define | SCUART_IS_TX_FULL(sc) |
| Check specified smartcard port transmit FIFO is full or not. More... | |
| #define | SCUART_IS_TX_EMPTY(sc) |
| Check specified smartcard port transmission is over. More... | |
| #define | SCUART_READ(sc) |
| Read Rx data register. More... | |
| #define | SCUART_GET_RX_EMPTY(sc) |
| Get RX FIFO empty flag status from register. More... | |
| #define | SCUART_GET_RX_FULL(sc) |
| Get RX FIFO full flag status from register. More... | |
| #define | SCUART_IS_RX_READY(sc) |
| Check if receive data number in FIFO reach FIFO trigger level or not. More... | |
| #define | SCUART_IS_RX_FULL(sc) |
| Check specified smartcard port receive FIFO is full or not. More... | |
| #define | SCUART_ENABLE_INT(sc, u32Mask) |
| Enable specified interrupts. More... | |
| #define | SCUART_DISABLE_INT(sc, u32Mask) |
| Disable specified interrupts. More... | |
| #define | SCUART_GET_INT_FLAG(sc, u32Type) |
| Get specified interrupt flag/status. More... | |
| #define | SCUART_CLR_INT_FLAG(sc, u32Type) |
| Clear specified interrupt flag/status. More... | |
| #define | SCUART_GET_ERR_FLAG(sc) |
| Get receive error flag/status. More... | |
| #define | SCUART_CLR_ERR_FLAG(sc, u32Mask) |
| Clear specified receive error flag/status. More... | |
Functions | |
| void | SCUART_Close (SC_T *sc) |
| The function is used to disable smartcard interface UART mode. More... | |
| uint32_t | SCUART_Open (SC_T *sc, uint32_t u32baudrate) |
| This function use to enable smartcard module UART mode and set baudrate. More... | |
| uint32_t | SCUART_Read (SC_T *sc, uint8_t *pu8RxBuf, uint32_t u32ReadBytes) |
| The function is used to read Rx data from RX FIFO. More... | |
| uint32_t | SCUART_SetLineConfig (SC_T *sc, uint32_t u32Baudrate, uint32_t u32DataWidth, uint32_t u32Parity, uint32_t u32StopBits) |
| This function use to config smartcard UART mode line setting. More... | |
| void | SCUART_SetTimeoutCnt (SC_T *sc, uint32_t u32TOC) |
| This function use to set receive timeout count. More... | |
| void | SCUART_Write (SC_T *sc, uint8_t *pu8TxBuf, uint32_t u32WriteBytes) |
| This function is to write data into transmit FIFO to send data out. More... | |
| #define SCUART_CLR_ERR_FLAG | ( | sc, | |
| u32Mask | |||
| ) |
Clear specified receive error flag/status.
| [in] | sc | The base address of smartcard module |
| [in] | u32Mask | Receive error flag/status to clear, combination following values |
| #define SCUART_CLR_INT_FLAG | ( | sc, | |
| u32Type | |||
| ) |
Clear specified interrupt flag/status.
| [in] | sc | The base address of smartcard module |
| [in] | u32Type | Interrupt flag/status to clear, could be the combination of following values |
| #define SCUART_DISABLE_INT | ( | sc, | |
| u32Mask | |||
| ) |
Disable specified interrupts.
| [in] | sc | The base address of smartcard module |
| [in] | u32Mask | Interrupt masks to disable, a combination of following bits |
| #define SCUART_ENABLE_INT | ( | sc, | |
| u32Mask | |||
| ) |
Enable specified interrupts.
| [in] | sc | The base address of smartcard module |
| [in] | u32Mask | Interrupt masks to enable, a combination of following bits |
| #define SCUART_GET_ERR_FLAG | ( | sc | ) |
Get receive error flag/status.
| [in] | sc | The base address of smartcard module |
| SC_TRSR_RX_EPA_F_Msk | Parity error |
| SC_TRSR_RX_EFR_F_Msk | Frame error |
| SC_TRSR_RX_EBR_F_Msk | Break error |
| #define SCUART_GET_INT_FLAG | ( | sc, | |
| u32Type | |||
| ) |
Get specified interrupt flag/status.
| [in] | sc | The base address of smartcard module |
| [in] | u32Type | Interrupt flag/status to check, could be one of following value |
| 0 | Specified interrupt does not happened |
| 1 | Specified interrupt happened |
| #define SCUART_GET_RX_EMPTY | ( | sc | ) |
| #define SCUART_GET_RX_FULL | ( | sc | ) |
| #define SCUART_GET_TX_EMPTY | ( | sc | ) |
| #define SCUART_GET_TX_FULL | ( | sc | ) |
| #define SCUART_IS_RX_FULL | ( | sc | ) |
| #define SCUART_IS_RX_READY | ( | sc | ) |
Check if receive data number in FIFO reach FIFO trigger level or not.
| [in] | sc | The base address of smartcard module |
| 0 | The number of bytes in receive FIFO is less than trigger level |
| 1 | The number of bytes in receive FIFO equals or larger than trigger level |
| #define SCUART_IS_TX_EMPTY | ( | sc | ) |
| #define SCUART_IS_TX_FULL | ( | sc | ) |
| #define SCUART_READ | ( | sc | ) |
| #define SCUART_WAIT_TX_EMPTY | ( | sc | ) |
| #define SCUART_WRITE | ( | sc, | |
| u8Data | |||
| ) |
| void SCUART_Close | ( | SC_T * | sc | ) |
| HIDDEN_SYMBOLS uint32_t SCUART_Open | ( | SC_T * | sc, |
| uint32_t | u32baudrate | ||
| ) |
This function use to enable smartcard module UART mode and set baudrate.
| [in] | sc | The base address of smartcard module. |
| [in] | u32baudrate | Target baudrate of smartcard module. |
This function configures character width to 8 bits, 1 stop bit, and no parity. And can use SCUART_SetLineConfig function to update these settings The baudrate clock source comes from SC_CLK/SC_DIV, where SC_CLK is controlled by SC_S(CLKSEL2[19:18]) SC_DIV is controlled by SC0_N(CLKDIV0[31:28]), SC1_N(CLKDIV1[3:0]), and SC2_N(CLKDIV1[7:4]). Since the baudrate divider is 12-bit wide and must be larger than 4, (clock source / baudrate) must be larger or equal to 5 and smaller or equal to 4096. Otherwise this function cannot configure SCUART to work with target baudrate.
| uint32_t SCUART_Read | ( | SC_T * | sc, |
| uint8_t * | pu8RxBuf, | ||
| uint32_t | u32ReadBytes | ||
| ) |
The function is used to read Rx data from RX FIFO.
| [in] | sc | The base address of smartcard module. |
| [in] | pu8RxBuf | The buffer to store receive the data |
| [in] | u32ReadBytes | Target number of characters to receive |
| uint32_t SCUART_SetLineConfig | ( | SC_T * | sc, |
| uint32_t | u32Baudrate, | ||
| uint32_t | u32DataWidth, | ||
| uint32_t | u32Parity, | ||
| uint32_t | u32StopBits | ||
| ) |
This function use to config smartcard UART mode line setting.
| [in] | sc | The base address of smartcard module. |
| [in] | u32Baudrate | Target baudrate of smartcard module. If this value is 0, UART baudrate will not change. |
| [in] | u32DataWidth | The data length, could be |
| [in] | u32Parity | The parity setting, could be |
| [in] | u32StopBits | The stop bit length, could be |
The baudrate clock source comes from SC_CLK/SC_DIV, where SC_CLK is controlled by SC_S(CLKSEL2[19:18]) SC_DIV is controlled by SC0_N(CLKDIV0[31:28]), SC1_N(CLKDIV1[3:0]), and SC2_N(CLKDIV1[7:4]). Since the baudrate divider is 12-bit wide and must be larger than 4, (clock source / baudrate) must be larger or equal to 5 and smaller or equal to 4096. Otherwise this function cannot configure SCUART to work with target baudrate.
| void SCUART_SetTimeoutCnt | ( | SC_T * | sc, |
| uint32_t | u32TOC | ||
| ) |
This function use to set receive timeout count.
| [in] | sc | The base address of smartcard module. |
| [in] | u32TOC | Rx timeout counter, using baudrate as counter unit. Valid range are 0~0x1FF, set this value to 0 will disable timeout counter |
The time-out counter resets and starts counting whenever the RX buffer received a new data word. Once the counter decrease to 1 and no new data is received or CPU does not read any data from FIFO, a receiver time-out interrupt will be generated.
| void SCUART_Write | ( | SC_T * | sc, |
| uint8_t * | pu8TxBuf, | ||
| uint32_t | u32WriteBytes | ||
| ) |
This function is to write data into transmit FIFO to send data out.
| [in] | sc | The base address of smartcard module. |
| [in] | pu8TxBuf | The buffer containing data to send to transmit FIFO. |
| [in] | u32WriteBytes | Number of data to send. |
1.8.15