![]() |
M480 BSP V3.05.005
The Board Support Package for M480 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_IS_TX_ACTIVE(sc) |
Check specified Smartcard port Transmission Status. 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 configure smartcard UART mode line setting. More... | |
void | SCUART_SetTimeoutCnt (SC_T *sc, uint32_t u32TOC) |
This function use to set receive timeout count. More... | |
uint32_t | 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 | ) |
#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_ACTIVE | ( | sc | ) |
Check specified Smartcard port Transmission Status.
[in] | sc | The pointer of smartcard module. |
0 | Transmit is completed |
1 | Transmit is active |
TXACT (SC_STATUS[31]) is set by hardware when Tx transfer is in active and the STOP bit of the last byte has been transmitted.
#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 | ) |
uint32_t SCUART_Open | ( | SC_T * | sc, |
uint32_t | u32baudrate | ||
) |
This function use to enable smartcard module UART mode and set baudrate.
HIDDEN_SYMBOLS
[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 SCxSEL in CLKSEL3 register, SC_DIV is controlled by SCxDIV in CLKDIV1 register. 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
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 configure 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 SCxSEL in CLKSEL3 register, SC_DIV is controlled by SCxDIV in CLKDIV1 register. 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
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.
uint32_t 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. |