USART#
Modules#
sl_si91x_usart_control_config_t
Enumerations#
USART/UART Events.
General power states.
Databit selection.
Parity selection.
USART Modem control selection.
Stop bits selection, used for asynchronous operation.
Hardware Flow Control Selection.
USART Mode selection.
USART misc control selection.
Typedefs#
Functions#
Initialize USART/UART interface.
Deinit USART/UART interface.
Set the USART/UART power mode.
Register the user callback function.
Un-register the user callback function.
Start sending data to USART transmitter.
Start receiving data from USART receiver.
Start sending/receiving data to/from USART transmitter/receiver.
Get the USART/UART transfer data count.
Get the USART/UART received data count.
Configure the different configurations of USART Interface.
Get USART status.
Set USART Modem Control line state.
Get USART Modem Control line state.
Get the USART version.
Get the USART configurations set.
Enumeration Documentation#
usart_event_typedef_t#
usart_event_typedef_t
USART/UART Events.
Enumerator | |
---|---|
SL_USART_EVENT_SEND_COMPLETE | Send complete event. |
SL_USART_EVENT_RECEIVE_COMPLETE | Receive complete event. |
SL_USART_EVENT_TRANSFER_COMPLETE | Transfer complete event. |
SL_USART_EVENT_TX_COMPLETE | Tx complete event event. |
SL_USART_EVENT_TX_UNDERFLOW | TX underflow event. |
SL_USART_EVENT_RX_OVERFLOW | RX overflow event. |
SL_USART_EVENT_RX_TIMEOUT | RX timeout event. |
SL_USART_EVENT_RX_BREAK | RX break event. |
SL_USART_EVENT_RX_FRAMING_ERROR | RX Framing error event. |
SL_USART_EVENT_RX_PARITY_ERROR | RX parity error event. |
SL_USART_EVENT_CTS | CTS event. |
SL_USART_EVENT_DSR | DSR EVENT. |
SL_USART_EVENT_DCD | DCD event. |
SL_USART_EVENT_RI | RI Event. |
67
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
power_mode_typedef_t#
power_mode_typedef_t
General power states.
Enumerator | |
---|---|
SL_POWER_OFF | Power Off. |
SL_POWER_LOW | Power low. |
SL_POWER_FULL | Power Full. |
SL_POWER_MODE_LAST |
85
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_databits_typedef_t#
usart_databits_typedef_t
Databit selection.
Enumerator | |
---|---|
SL_USART_DATA_BITS_5 | 5 data bits |
SL_USART_DATA_BITS_6 | 6 data bits |
SL_USART_DATA_BITS_7 | 7 data bits |
SL_USART_DATA_BITS_8 | 8 data bits |
SL_USART_DATA_BITS_9 | 9 data bits |
93
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_parity_typedef_t#
usart_parity_typedef_t
Parity selection.
Enumerator | |
---|---|
SL_USART_NO_PARITY | No parity. |
SL_USART_EVEN_PARITY | Even parity. |
SL_USART_ODD_PARITY | Odd parity. |
102
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_modem_control_typedef_t#
usart_modem_control_typedef_t
USART Modem control selection.
Enumerator | |
---|---|
SL_USART_RTS_CLEAR | RTS clear. |
SL_USART_RTS_SET | RTS Set. |
SL_USART_DTR_CLEAR | DTR Clear. |
SL_USART_DTR_SET | Activate DTR. |
SL_USART_MODEM_CONTROL_LAST |
109
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_stopbit_typedef_t#
usart_stopbit_typedef_t
Stop bits selection, used for asynchronous operation.
Enumerator | |
---|---|
SL_USART_STOP_BITS_0_5 | 0.5 stop bits. |
SL_USART_STOP_BITS_1 | 1 stop bits. |
SL_USART_STOP_BITS_1_5 | 1.5 stop bits. |
SL_USART_STOP_BITS_2 | 2 stop bits |
118
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_hwflowcontol_typedef_t#
usart_hwflowcontol_typedef_t
Hardware Flow Control Selection.
Enumerator | |
---|---|
SL_USART_FLOW_CONTROL_NONE | No hardware flow control. |
SL_USART_FLOW_CONTROL_CTS | CTS signal is enabled for TX flow control. |
SL_USART_FLOW_CONTROL_RTS | RTS signal is enabled for RX flow control. |
SL_USART_FLOW_CONTROL_RTS_CTS | CTS and RTS signals are enabled for TX and RX flow control. |
126
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_mode_typedef_t#
usart_mode_typedef_t
USART Mode selection.
Enumerator | |
---|---|
SL_USART_MODE_ASYNCHRONOUS | Asynchronous mode. |
SL_USART_MODE_SYNCHRONOUS_MASTER | Synchronous mode master. |
SL_USART_MODE_SYNCHRONOUS_SLAVE | Synchronous mode slave. |
SL_USART_MODE_SINGLE_WIRE | UART Single-wire (half-duplex); arg = Baudrate. |
SL_USART_MODE_IRDA | UART IrDA; arg = Baudrate. |
135
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_misc_control_typedef_t#
usart_misc_control_typedef_t
USART misc control selection.
Enumerator | |
---|---|
SL_USART_MISC_CONTROL_NONE | |
SL_USART_SET_DEFAULT_TX_VALUE | Set default TX value. |
SL_USART_CONTROL_TX | Set transfer line. |
SL_USART_CONTROL_RX | Set receive line. |
SL_USART_CONTROL_BREAK | Set USART control break. |
SL_USART_ABORT_SEND | Abort send. |
SL_USART_ABORT_RECEIVE | Abort receive. |
SL_USART_ABORT_TRANSFER | Abort transfer. |
144
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
Typedef Documentation#
sl_usart_signal_event_t#
typedef ARM_USART_SignalEvent_t sl_usart_signal_event_t
53
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_status_t#
typedef ARM_USART_STATUS sl_usart_status_t
54
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_power_state_t#
typedef ARM_POWER_STATE sl_usart_power_state_t
55
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_modem_control_t#
typedef ARM_USART_MODEM_CONTROL sl_usart_modem_control_t
56
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_modem_status_t#
typedef ARM_USART_MODEM_STATUS sl_usart_modem_status_t
57
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_capabilities_t#
typedef ARM_USART_CAPABILITIES sl_usart_capabilities_t
58
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_driver_t#
typedef ARM_DRIVER_USART sl_usart_driver_t
59
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
usart_resources_t#
typedef USART_RESOURCES usart_resources_t
60
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_usart_handle_t#
typedef const void* sl_usart_handle_t
61
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
Function Documentation#
sl_si91x_usart_init#
sl_status_t sl_si91x_usart_init (usart_peripheral_t usart_instance, sl_usart_handle_t * usart_handle)
Initialize USART/UART interface.
[in] | usart_instance | Pointer to the USART/UART driver |
[in] | usart_handle | Callback function which need to be called on data transfer |
This function will configure the clocks for USART/UART module and also initialization the DMA for UART/USART if DMA is enabled for data transfers.
Returns
status 0 if successful, else error code SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer SL_STATUS_FAIL (0x0001) - Fail , UART/USART initialization failed SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
198
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_deinit#
sl_status_t sl_si91x_usart_deinit (sl_usart_handle_t usart_handle)
Deinit USART/UART interface.
[in] | usart_handle | Pointer to the USART/UART driver |
This function will disable the clocks for USART/UART module and also Deinit the DMA for UART/USART if DMA is enabled for data transfers.
Returns
status 0 if successful, else error code SL_STATUS_FAIL (0x0001) - Fail , UART/USART Deinitialization failed SL_STATUS _OK (0X000) - Success ,UART/USART Deinitialization done properly
rsi
214
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_set_power_mode#
sl_status_t sl_si91x_usart_set_power_mode (sl_usart_handle_t usart_handle, power_mode_typedef_t state)
Set the USART/UART power mode.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | state | power state
|
This function will set UART/USART power mode of operation . In poweroff power state will disable the interrupt , disable DMA channel if DMA mode disable the power to the USART block.So no usart operations are possible when set this mode In powerFull power state will enable the intterupt and set the flags initialization and power on flag so that USART data transfer can takes place
Returns
status 0 if successful, else error code SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument SL_STATUS_FAIL (0x0001) - Fail , UART/USART initialization failed SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
Note
powerLow power state is not supported
244
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_register_event_callback#
sl_status_t sl_si91x_usart_register_event_callback (sl_usart_signal_event_t callback_event)
Register the user callback function.
[in] | callback_event | Pointer to the function which needs to be called at the time of interrupt |
Returns
status 0 if successful, else error code SL_STATUS_OK (0x0000) - Success SL_STATUS_NULL_POINTER (0x0022) - The parameter is null pointer SL_STATUS_BUSY (0x0004) - Driver is busy
258
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_unregister_event_callback#
void sl_si91x_usart_unregister_event_callback (void )
Un-register the user callback function.
[in] |
Returns
none
267
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_send_data#
sl_status_t sl_si91x_usart_send_data (sl_usart_handle_t usart_handle, const void * data, uint32_t data_length)
Start sending data to USART transmitter.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | data | Pointer to the variable which contains transfer data |
[in] | data_length | Data_length to Send |
if DMA mode is set this function will configure the DMA channel and enables the DMA channel , then transfer's the data pointed to it else it fill the data to the transfer FIFO and transfer the data
Returns
status 0 if successful, else error code SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument SL_STATUS_FAIL (0x0001) - Fail , Data transfer failed SL_STATUS_BUSY (0x0004) - Busy ,already data transfer is going on SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
291
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_receive_data#
sl_status_t sl_si91x_usart_receive_data (sl_usart_handle_t usart_handle, void * data, uint32_t data_length)
Start receiving data from USART receiver.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | data | Pointer to the variable which will store the received data |
[in] | data_length | Data_length to receive |
If DMA mode is set, it configures the DMA channel, enables the DMA channel, and receives data via DMA. If DMA mode is not set, it receives the data from FIFO.
Returns
status 0 if successful, else error code SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument SL_STATUS_FAIL (0x0001) - Fail , Data transfer failed SL_STATUS_BUSY (0x0004) - Busy ,already data transfer is going on SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
315
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_transfer_data#
sl_status_t sl_si91x_usart_transfer_data (sl_usart_handle_t usart_handle, const void * data_out, void * data_in, uint32_t data_length)
Start sending/receiving data to/from USART transmitter/receiver.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | data_out | Pointer to the variable which will store the data to be transferred |
[in] | data_in | Pointer to the variable which will store the received data |
[in] | data_length | Data_length to receive |
This function will configure the DMA channel and enables the DMA channel , DMA if DMA mode is set and transfer's the data pointed to it
Returns
status 0 if successful, else error code SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument SL_STATUS_FAIL (0x0001) - Fail , Data transfer failed SL_STATUS_BUSY (0x0004) - Busy ,already data transfer is going on SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
Note
This function to be use in USART mode only i.e synchronous mode only in asynchronous mode use sl_si91x_usart_receive_data() and sl_si91x_usart_send_data()
343
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_tx_data_count#
uint32_t sl_si91x_usart_get_tx_data_count (sl_usart_handle_t usart_handle)
Get the USART/UART transfer data count.
[in] | usart_handle | Pointer to the USART/UART driver |
This function will return the USART data transferred count.
Returns
return the no of bytes transferred
358
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_rx_data_count#
uint32_t sl_si91x_usart_get_rx_data_count (sl_usart_handle_t usart_handle)
Get the USART/UART received data count.
[in] | usart_handle | Pointer to the USART/UART driver |
This function will return the USART/UART data received count
Returns
return the no of bytes received
370
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_set_configuration#
sl_status_t sl_si91x_usart_set_configuration (sl_usart_handle_t usart_handle, sl_si91x_usart_control_config_t * control_configuration, uint32_t baud_rate)
Configure the different configurations of USART Interface.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | control_configuration | pointer to the USART configurations |
[in] | baud_rate | baud rate to data transfer |
This function configure the USART in different configurations such as USART mode, Data Bits, Parity , stop bits, flow control and baud rate.
Returns
status 0 if successful, else error code SL_STATUS_BUSY (0x0004) - Busy ,already data transfer is going on SL_STATUS_INVALID_PARAMETER (0x0021) - The parameter is invalid argument SL_STATUS_INVALID_MODE (0x0024) - USART Invalid mode of operation SL_STATUS_NOT_SUPPORTED(0x000F) - Feature not supported SL_STATUS _OK (0X000) - Success ,UART/USART initialization done properly
390
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_status#
sl_usart_status_t sl_si91x_usart_get_status (sl_usart_handle_t usart_handle)
Get USART status.
[in] | usart_handle | Pointer to the USART/UART driver |
This function will return USART/UART transfer and receive status
Returns
usart line status * tx busy ,rx_busy, tx_underflow ,rx overflow, rx break, rx framing error rx parity error
406
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_set_modem_control#
sl_status_t sl_si91x_usart_set_modem_control (sl_usart_handle_t usart_handle, sl_usart_modem_control_t control)
Set USART Modem Control line state.
[in] | usart_handle | Pointer to the USART/UART driver |
[in] | control | usart modem control |
This function will set the USART modem control line
Returns
status 0 if successful, else error code SL_STATUS_NOT_SUPPORTED(0x000F) - Feature not supported SL_STATUS _OK (0x000) - Success ,UART/USART initialization done properly
422
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_modem_status#
sl_usart_modem_status_t sl_si91x_usart_get_modem_status (sl_usart_handle_t usart_handle)
Get USART Modem Control line state.
[in] | usart_handle | Pointer to the USART/UART driver |
This function return USART modem control status
Returns
usart modem status states are active or not
434
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_version#
sl_usart_version_t sl_si91x_usart_get_version (void )
Get the USART version.
[in] |
This function is used to know the USART version
Returns
sl_usart_version_t type version
446
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h
sl_si91x_usart_get_configurations#
sl_status_t sl_si91x_usart_get_configurations (uint8_t usart_module, sl_si91x_usart_control_config_t * usart_config)
Get the USART configurations set.
[in] | usart_module | USART peripheral type
|
[in] | usart_config | Pointer to the USART configurations structure |
Get the USART configurations set in the module such as baudrate ,parity bit stop bits etc
Returns
status 0 if successful, else error code SL_STATUS_NULL_POINTER(0x0022) - Invalid NULL pointer received as argument SL_STATUS _OK (0x000) - Success ,UART/USART configurations retrieved successfully
466
of file components/siwx917_soc/drivers/unified_api/inc/sl_si91x_usart.h