ChibiOS/HAL 9.0.0
|
UART Driver macros and structures. More...
#include "hal_uart_lld.h"
Go to the source code of this file.
Macros | |
UART status flags | |
#define | UART_NO_ERROR 0 |
No pending conditions. | |
#define | UART_PARITY_ERROR 4 |
Parity error happened. | |
#define | UART_FRAMING_ERROR 8 |
Framing error happened. | |
#define | UART_OVERRUN_ERROR 16 |
Overflow happened. | |
#define | UART_NOISE_ERROR 32 |
Noise on the line. | |
#define | UART_BREAK_DETECTED 64 |
Break detected. | |
UART error conditions | |
#define | UART_ERR_NOT_ACTIVE (size_t)-1 |
UART configuration options | |
#define | UART_USE_WAIT FALSE |
Enables synchronous APIs. | |
#define | UART_USE_MUTUAL_EXCLUSION FALSE |
Enables the uartAcquireBus() and uartReleaseBus() APIs. | |
Low level driver helper macros | |
#define | _uart_wakeup_tx1_isr(uartp) |
Wakes up the waiting thread in case of early TX complete. | |
#define | _uart_wakeup_tx2_isr(uartp) |
Wakes up the waiting thread in case of late TX complete. | |
#define | _uart_wakeup_rx_complete_isr(uartp) |
Wakes up the waiting thread in case of RX complete. | |
#define | _uart_wakeup_rx_error_isr(uartp) |
Wakes up the waiting thread in case of RX error. | |
#define | _uart_wakeup_rx_cm_isr(uartp) |
Wakes up the waiting thread in case of RX character match. | |
#define | _uart_wakeup_rx_timeout_isr(uartp) |
Wakes up the waiting thread in case of RX timeout. | |
#define | _uart_tx1_isr_code(uartp) |
Common ISR code for early TX. | |
#define | _uart_tx2_isr_code(uartp) |
Common ISR code for late TX. | |
#define | _uart_rx_complete_isr_code(uartp) |
Common ISR code for RX complete. | |
#define | _uart_rx_error_isr_code(uartp, errors) |
Common ISR code for RX error. | |
#define | _uart_rx_idle_code(uartp) |
Common ISR code for RX on idle. | |
#define | _uart_timeout_isr_code(uartp) |
Timeout ISR code for receiver. | |
#define | _uart_rx_char_match_isr_code(uartp) |
Character match ISR code for receiver. |
Enumerations | |
enum | uartstate_t { UART_UNINIT = 0 , UART_STOP = 1 , UART_READY = 2 } |
Driver state machine possible states. More... | |
enum | uarttxstate_t { UART_TX_IDLE = 0 , UART_TX_ACTIVE = 1 , UART_TX_COMPLETE = 2 } |
Transmitter state machine states. More... | |
enum | uartrxstate_t { UART_RX_IDLE = 0 , UART_RX_ACTIVE = 1 , UART_RX_COMPLETE = 2 } |
Receiver state machine states. More... |
Functions | |
void | uartInit (void) |
UART Driver initialization. | |
void | uartObjectInit (UARTDriver *uartp) |
Initializes the standard part of a UARTDriver structure. | |
msg_t | uartStart (UARTDriver *uartp, const UARTConfig *config) |
Configures and activates the UART peripheral. | |
void | uartStop (UARTDriver *uartp) |
Deactivates the UART peripheral. | |
void | uartStartSend (UARTDriver *uartp, size_t n, const void *txbuf) |
Starts a transmission on the UART peripheral. | |
void | uartStartSendI (UARTDriver *uartp, size_t n, const void *txbuf) |
Starts a transmission on the UART peripheral. | |
size_t | uartStopSend (UARTDriver *uartp) |
Stops any ongoing transmission. | |
size_t | uartStopSendI (UARTDriver *uartp) |
Stops any ongoing transmission. | |
void | uartStartReceive (UARTDriver *uartp, size_t n, void *rxbuf) |
Starts a receive operation on the UART peripheral. | |
void | uartStartReceiveI (UARTDriver *uartp, size_t n, void *rxbuf) |
Starts a receive operation on the UART peripheral. | |
size_t | uartStopReceive (UARTDriver *uartp) |
Stops any ongoing receive operation. | |
size_t | uartStopReceiveI (UARTDriver *uartp) |
Stops any ongoing receive operation. | |
msg_t | uartSendTimeout (UARTDriver *uartp, size_t *np, const void *txbuf, sysinterval_t timeout) |
Performs a transmission on the UART peripheral. | |
msg_t | uartSendFullTimeout (UARTDriver *uartp, size_t *np, const void *txbuf, sysinterval_t timeout) |
Performs a transmission on the UART peripheral. | |
msg_t | uartReceiveTimeout (UARTDriver *uartp, size_t *np, void *rxbuf, sysinterval_t timeout) |
Performs a receive operation on the UART peripheral. | |
void | uartAcquireBus (UARTDriver *uartp) |
Gains exclusive access to the UART bus. | |
void | uartReleaseBus (UARTDriver *uartp) |
Releases exclusive access to the UART bus. |
UART Driver macros and structures.
Definition in file hal_uart.h.