ChibiOS/HAL
6.1.0
|
Generic UART Driver. More...
Generic UART Driver.
This driver abstracts a generic UART (Universal Asynchronous Receiver Transmitter) peripheral, the API is designed to be:
Special hardware features like deep hardware buffers, DMA transfers are hidden to the user but fully supportable by the low level implementations.
This driver model is best used where communication events are meant to drive an higher level state machine, as example:
If your application requires a synchronous buffered driver then the Serial Driver should be used instead.
HAL_USE_UART
option must be enabled in halconf.h
.The driver implements a state machine internally, not all the driver functionalities can be used in any moment, any transition not explicitly shown in the following diagram has to be considered an error and shall be captured by an assertion (if enabled).
The follow diagram describes the transmitter state machine, this diagram is valid while the driver is in the UART_READY
state. This state machine is automatically reset to the TX_IDLE
state each time the driver enters the UART_READY
state.
The follow diagram describes the receiver state machine, this diagram is valid while the driver is in the UART_READY
state. This state machine is automatically reset to the RX_IDLE
state each time the driver enters the UART_READY
state.
UART status flags | |
#define | UART_NO_ERROR 0 |
No pending conditions. More... | |
#define | UART_PARITY_ERROR 4 |
Parity error happened. More... | |
#define | UART_FRAMING_ERROR 8 |
Framing error happened. More... | |
#define | UART_OVERRUN_ERROR 16 |
Overflow happened. More... | |
#define | UART_NOISE_ERROR 32 |
Noise on the line. More... | |
#define | UART_BREAK_DETECTED 64 |
Break detected. More... | |
UART error conditions | |
#define | UART_ERR_NOT_ACTIVE (size_t)-1 |
UART configuration options | |
#define | UART_USE_WAIT FALSE |
Enables synchronous APIs. More... | |
#define | UART_USE_MUTUAL_EXCLUSION FALSE |
Enables the uartAcquireBus() and uartReleaseBus() APIs. More... | |
Low level driver helper macros | |
#define | _uart_wakeup_tx1_isr(uartp) |
Wakes up the waiting thread in case of early TX complete. More... | |
#define | _uart_wakeup_tx2_isr(uartp) |
Wakes up the waiting thread in case of late TX complete. More... | |
#define | _uart_wakeup_rx_complete_isr(uartp) |
Wakes up the waiting thread in case of RX complete. More... | |
#define | _uart_wakeup_rx_error_isr(uartp) |
Wakes up the waiting thread in case of RX error. More... | |
#define | _uart_wakeup_rx_cm_isr(uartp) |
Wakes up the waiting thread in case of RX character match. More... | |
#define | _uart_wakeup_rx_timeout_isr(uartp) |
Wakes up the waiting thread in case of RX timeout. More... | |
#define | _uart_tx1_isr_code(uartp) |
Common ISR code for early TX. More... | |
#define | _uart_tx2_isr_code(uartp) |
Common ISR code for late TX. More... | |
#define | _uart_rx_complete_isr_code(uartp) |
Common ISR code for RX complete. More... | |
#define | _uart_rx_error_isr_code(uartp, errors) |
Common ISR code for RX error. More... | |
#define | _uart_rx_idle_code(uartp) |
Common ISR code for RX on idle. More... | |
#define | _uart_timeout_isr_code(uartp) |
Timeout ISR code for receiver. More... | |
#define | _uart_rx_char_match_isr_code(uartp) |
Character match ISR code for receiver. More... | |
PLATFORM configuration options | |
#define | PLATFORM_UART_USE_UART1 FALSE |
UART driver enable switch. More... | |
Typedefs | |
typedef uint32_t | uartflags_t |
UART driver condition flags type. More... | |
typedef struct UARTDriver | UARTDriver |
Type of structure representing an UART driver. More... | |
typedef void(* | uartcb_t) (UARTDriver *uartp) |
Generic UART notification callback type. More... | |
typedef void(* | uartccb_t) (UARTDriver *uartp, uint16_t c) |
Character received UART notification callback type. More... | |
typedef void(* | uartecb_t) (UARTDriver *uartp, uartflags_t e) |
Receive error UART notification callback type. More... | |
Data Structures | |
struct | UARTConfig |
Driver configuration structure. More... | |
struct | UARTDriver |
Structure representing an UART driver. More... | |
Functions | |
void | uartInit (void) |
UART Driver initialization. More... | |
void | uartObjectInit (UARTDriver *uartp) |
Initializes the standard part of a UARTDriver structure. More... | |
void | uartStart (UARTDriver *uartp, const UARTConfig *config) |
Configures and activates the UART peripheral. More... | |
void | uartStop (UARTDriver *uartp) |
Deactivates the UART peripheral. More... | |
void | uartStartSend (UARTDriver *uartp, size_t n, const void *txbuf) |
Starts a transmission on the UART peripheral. More... | |
void | uartStartSendI (UARTDriver *uartp, size_t n, const void *txbuf) |
Starts a transmission on the UART peripheral. More... | |
size_t | uartStopSend (UARTDriver *uartp) |
Stops any ongoing transmission. More... | |
size_t | uartStopSendI (UARTDriver *uartp) |
Stops any ongoing transmission. More... | |
void | uartStartReceive (UARTDriver *uartp, size_t n, void *rxbuf) |
Starts a receive operation on the UART peripheral. More... | |
void | uartStartReceiveI (UARTDriver *uartp, size_t n, void *rxbuf) |
Starts a receive operation on the UART peripheral. More... | |
size_t | uartStopReceive (UARTDriver *uartp) |
Stops any ongoing receive operation. More... | |
size_t | uartStopReceiveI (UARTDriver *uartp) |
Stops any ongoing receive operation. More... | |
msg_t | uartSendTimeout (UARTDriver *uartp, size_t *np, const void *txbuf, sysinterval_t timeout) |
Performs a transmission on the UART peripheral. More... | |
msg_t | uartSendFullTimeout (UARTDriver *uartp, size_t *np, const void *txbuf, sysinterval_t timeout) |
Performs a transmission on the UART peripheral. More... | |
msg_t | uartReceiveTimeout (UARTDriver *uartp, size_t *np, void *rxbuf, sysinterval_t timeout) |
Performs a receive operation on the UART peripheral. More... | |
void | uartAcquireBus (UARTDriver *uartp) |
Gains exclusive access to the UART bus. More... | |
void | uartReleaseBus (UARTDriver *uartp) |
Releases exclusive access to the UART bus. More... | |
void | uart_lld_init (void) |
Low level UART driver initialization. More... | |
void | uart_lld_start (UARTDriver *uartp) |
Configures and activates the UART peripheral. More... | |
void | uart_lld_stop (UARTDriver *uartp) |
Deactivates the UART peripheral. More... | |
void | uart_lld_start_send (UARTDriver *uartp, size_t n, const void *txbuf) |
Starts a transmission on the UART peripheral. More... | |
size_t | uart_lld_stop_send (UARTDriver *uartp) |
Stops any ongoing transmission. More... | |
void | uart_lld_start_receive (UARTDriver *uartp, size_t n, void *rxbuf) |
Starts a receive operation on the UART peripheral. More... | |
size_t | uart_lld_stop_receive (UARTDriver *uartp) |
Stops any ongoing receive operation. More... | |
Enumerations |
Variables | |
UARTDriver | UARTD1 |
UART1 driver identifier. More... | |
#define UART_NO_ERROR 0 |
No pending conditions.
Definition at line 38 of file hal_uart.h.
#define UART_PARITY_ERROR 4 |
Parity error happened.
Definition at line 39 of file hal_uart.h.
#define UART_FRAMING_ERROR 8 |
Framing error happened.
Definition at line 40 of file hal_uart.h.
#define UART_OVERRUN_ERROR 16 |
Overflow happened.
Definition at line 41 of file hal_uart.h.
#define UART_NOISE_ERROR 32 |
Noise on the line.
Definition at line 42 of file hal_uart.h.
#define UART_BREAK_DETECTED 64 |
Break detected.
Definition at line 43 of file hal_uart.h.
#define UART_USE_WAIT FALSE |
Enables synchronous APIs.
Definition at line 66 of file hal_uart.h.
#define UART_USE_MUTUAL_EXCLUSION FALSE |
Enables the uartAcquireBus()
and uartReleaseBus()
APIs.
Definition at line 74 of file hal_uart.h.
#define _uart_wakeup_tx1_isr | ( | uartp | ) |
Wakes up the waiting thread in case of early TX complete.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 131 of file hal_uart.h.
#define _uart_wakeup_tx2_isr | ( | uartp | ) |
Wakes up the waiting thread in case of late TX complete.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 150 of file hal_uart.h.
#define _uart_wakeup_rx_complete_isr | ( | uartp | ) |
Wakes up the waiting thread in case of RX complete.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 169 of file hal_uart.h.
#define _uart_wakeup_rx_error_isr | ( | uartp | ) |
Wakes up the waiting thread in case of RX error.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 186 of file hal_uart.h.
#define _uart_wakeup_rx_cm_isr | ( | uartp | ) |
Wakes up the waiting thread in case of RX character match.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 203 of file hal_uart.h.
#define _uart_wakeup_rx_timeout_isr | ( | uartp | ) |
Wakes up the waiting thread in case of RX timeout.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 220 of file hal_uart.h.
#define _uart_tx1_isr_code | ( | uartp | ) |
Common ISR code for early TX.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 243 of file hal_uart.h.
#define _uart_tx2_isr_code | ( | uartp | ) |
Common ISR code for late TX.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 268 of file hal_uart.h.
#define _uart_rx_complete_isr_code | ( | uartp | ) |
Common ISR code for RX complete.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 289 of file hal_uart.h.
#define _uart_rx_error_isr_code | ( | uartp, | |
errors | |||
) |
Common ISR code for RX error.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
[in] | errors | mask of errors to be reported |
Definition at line 316 of file hal_uart.h.
#define _uart_rx_idle_code | ( | uartp | ) |
Common ISR code for RX on idle.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 337 of file hal_uart.h.
#define _uart_timeout_isr_code | ( | uartp | ) |
Timeout ISR code for receiver.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 356 of file hal_uart.h.
#define _uart_rx_char_match_isr_code | ( | uartp | ) |
Character match ISR code for receiver.
This code handles the portable part of the ISR code:
[in] | uartp | pointer to the UARTDriver object |
Definition at line 377 of file hal_uart.h.
#define PLATFORM_UART_USE_UART1 FALSE |
UART driver enable switch.
If set to TRUE
the support for UART1 is included.
FALSE
. Definition at line 48 of file hal_uart_lld.h.
typedef uint32_t uartflags_t |
UART driver condition flags type.
Definition at line 63 of file hal_uart_lld.h.
typedef struct UARTDriver UARTDriver |
Type of structure representing an UART driver.
Definition at line 68 of file hal_uart_lld.h.
typedef void(* uartcb_t) (UARTDriver *uartp) |
Generic UART notification callback type.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 75 of file hal_uart_lld.h.
typedef void(* uartccb_t) (UARTDriver *uartp, uint16_t c) |
Character received UART notification callback type.
[in] | uartp | pointer to the UARTDriver object triggering the callback |
[in] | c | received character |
Definition at line 84 of file hal_uart_lld.h.
typedef void(* uartecb_t) (UARTDriver *uartp, uartflags_t e) |
Receive error UART notification callback type.
[in] | uartp | pointer to the UARTDriver object triggering the callback |
[in] | e | receive error mask |
Definition at line 93 of file hal_uart_lld.h.
enum uartstate_t |
Driver state machine possible states.
Enumerator | |
---|---|
UART_UNINIT |
Not initialized. |
UART_STOP |
Stopped. |
UART_READY |
Ready. |
Definition at line 89 of file hal_uart.h.
enum uarttxstate_t |
Transmitter state machine states.
Enumerator | |
---|---|
UART_TX_IDLE |
Not transmitting. |
UART_TX_ACTIVE |
Transmitting. |
UART_TX_COMPLETE |
Buffer complete. |
Definition at line 98 of file hal_uart.h.
enum uartrxstate_t |
Receiver state machine states.
Enumerator | |
---|---|
UART_RX_IDLE |
Not receiving. |
UART_RX_ACTIVE |
Receiving. |
UART_RX_COMPLETE |
Buffer complete. |
Definition at line 107 of file hal_uart.h.
void uartInit | ( | void | ) |
UART Driver initialization.
halInit()
, there is no need to explicitly initialize the driver.Definition at line 56 of file hal_uart.c.
References uart_lld_init().
Referenced by halInit().
void uartObjectInit | ( | UARTDriver * | uartp | ) |
Initializes the standard part of a UARTDriver
structure.
[out] | uartp | pointer to the UARTDriver object |
Definition at line 68 of file hal_uart.c.
References UARTDriver::config, UARTDriver::early, UARTDriver::mutex, osalMutexObjectInit(), UARTDriver::rxstate, UARTDriver::state, UARTDriver::threadrx, UARTDriver::threadtx, UARTDriver::txstate, UART_RX_IDLE, UART_STOP, and UART_TX_IDLE.
Referenced by uart_lld_init().
void uartStart | ( | UARTDriver * | uartp, |
const UARTConfig * | config | ||
) |
Configures and activates the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | config | pointer to the UARTConfig object |
Definition at line 97 of file hal_uart.c.
References UARTDriver::config, osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::state, uart_lld_start(), UART_READY, and UART_STOP.
void uartStop | ( | UARTDriver * | uartp | ) |
Deactivates the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 118 of file hal_uart.c.
References UARTDriver::config, osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::rxstate, UARTDriver::state, UARTDriver::txstate, uart_lld_stop(), UART_READY, UART_RX_IDLE, UART_STOP, and UART_TX_IDLE.
void uartStartSend | ( | UARTDriver * | uartp, |
size_t | n, | ||
const void * | txbuf | ||
) |
Starts a transmission on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to send |
[in] | txbuf | the pointer to the transmit buffer |
Definition at line 147 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::state, UARTDriver::txstate, uart_lld_start_send(), UART_READY, and UART_TX_ACTIVE.
void uartStartSendI | ( | UARTDriver * | uartp, |
size_t | n, | ||
const void * | txbuf | ||
) |
Starts a transmission on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to send |
[in] | txbuf | the pointer to the transmit buffer |
Definition at line 172 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalDbgCheckClassI, UARTDriver::state, UARTDriver::txstate, uart_lld_start_send(), UART_READY, and UART_TX_ACTIVE.
size_t uartStopSend | ( | UARTDriver * | uartp | ) |
Stops any ongoing transmission.
[in] | uartp | pointer to the UARTDriver object |
UART_ERR_NOT_ACTIVE | if there was no transmit operation in progress. |
Definition at line 195 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::state, UARTDriver::txstate, uart_lld_stop_send(), UART_READY, UART_TX_ACTIVE, and UART_TX_IDLE.
size_t uartStopSendI | ( | UARTDriver * | uartp | ) |
Stops any ongoing transmission.
[in] | uartp | pointer to the UARTDriver object |
UART_ERR_NOT_ACTIVE | if there was no transmit operation in progress. |
Definition at line 228 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalDbgCheckClassI, UARTDriver::state, UARTDriver::txstate, uart_lld_stop_send(), UART_READY, UART_TX_ACTIVE, and UART_TX_IDLE.
Referenced by uartSendFullTimeout(), and uartSendTimeout().
void uartStartReceive | ( | UARTDriver * | uartp, |
size_t | n, | ||
void * | rxbuf | ||
) |
Starts a receive operation on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to receive |
[in] | rxbuf | the pointer to the receive buffer |
Definition at line 253 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::rxstate, UARTDriver::state, uart_lld_start_receive(), UART_READY, and UART_RX_ACTIVE.
void uartStartReceiveI | ( | UARTDriver * | uartp, |
size_t | n, | ||
void * | rxbuf | ||
) |
Starts a receive operation on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to receive |
[out] | rxbuf | the pointer to the receive buffer |
Definition at line 278 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalDbgCheckClassI, UARTDriver::rxstate, UARTDriver::state, uart_lld_start_receive(), UART_READY, and UART_RX_ACTIVE.
size_t uartStopReceive | ( | UARTDriver * | uartp | ) |
Stops any ongoing receive operation.
[in] | uartp | pointer to the UARTDriver object |
UART_ERR_NOT_ACTIVE | if there was no receive operation in progress. |
Definition at line 301 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), UARTDriver::rxstate, UARTDriver::state, uart_lld_stop_receive(), UART_READY, UART_RX_ACTIVE, and UART_RX_IDLE.
size_t uartStopReceiveI | ( | UARTDriver * | uartp | ) |
Stops any ongoing receive operation.
[in] | uartp | pointer to the UARTDriver object |
UART_ERR_NOT_ACTIVE | if there was no receive operation in progress. |
Definition at line 334 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalDbgCheckClassI, UARTDriver::rxstate, UARTDriver::state, uart_lld_stop_receive(), UART_READY, UART_RX_ACTIVE, and UART_RX_IDLE.
Referenced by uartReceiveTimeout().
msg_t uartSendTimeout | ( | UARTDriver * | uartp, |
size_t * | np, | ||
const void * | txbuf, | ||
sysinterval_t | timeout | ||
) |
Performs a transmission on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in,out] | np | number of data frames to transmit, on exit the number of frames actually transmitted |
[in] | txbuf | the pointer to the transmit buffer |
[in] | timeout | operation timeout |
MSG_OK | if the operation completed successfully. |
MSG_TIMEOUT | if the operation timed out. |
Definition at line 369 of file hal_uart.c.
References UARTDriver::early, osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), osalThreadSuspendTimeoutS(), UARTDriver::state, UARTDriver::threadtx, UARTDriver::txstate, uart_lld_start_send(), UART_READY, UART_TX_ACTIVE, and uartStopSendI().
msg_t uartSendFullTimeout | ( | UARTDriver * | uartp, |
size_t * | np, | ||
const void * | txbuf, | ||
sysinterval_t | timeout | ||
) |
Performs a transmission on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in,out] | np | number of data frames to transmit, on exit the number of frames actually transmitted |
[in] | txbuf | the pointer to the transmit buffer |
[in] | timeout | operation timeout |
MSG_OK | if the operation completed successfully. |
MSG_TIMEOUT | if the operation timed out. |
Definition at line 414 of file hal_uart.c.
References UARTDriver::early, osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), osalThreadSuspendTimeoutS(), UARTDriver::state, UARTDriver::threadtx, UARTDriver::txstate, uart_lld_start_send(), UART_READY, UART_TX_ACTIVE, and uartStopSendI().
msg_t uartReceiveTimeout | ( | UARTDriver * | uartp, |
size_t * | np, | ||
void * | rxbuf, | ||
sysinterval_t | timeout | ||
) |
Performs a receive operation on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in,out] | np | number of data frames to receive, on exit the number of frames actually received |
[in] | rxbuf | the pointer to the receive buffer |
[in] | timeout | operation timeout |
MSG_OK | if the operation completed successfully. |
MSG_TIMEOUT | if the operation timed out. |
MSG_RESET | in case of a receive error. |
Definition at line 461 of file hal_uart.c.
References osalDbgAssert, osalDbgCheck, osalSysLock(), osalSysUnlock(), osalThreadSuspendTimeoutS(), UARTDriver::rxstate, UARTDriver::state, UARTDriver::threadrx, uart_lld_start_receive(), UART_READY, UART_RX_ACTIVE, and uartStopReceiveI().
void uartAcquireBus | ( | UARTDriver * | uartp | ) |
Gains exclusive access to the UART bus.
This function tries to gain ownership to the UART bus, if the bus is already being used then the invoking thread is queued.
UART_USE_MUTUAL_EXCLUSION
must be enabled.[in] | uartp | pointer to the UARTDriver object |
Definition at line 498 of file hal_uart.c.
References UARTDriver::mutex, osalDbgCheck, and osalMutexLock().
void uartReleaseBus | ( | UARTDriver * | uartp | ) |
Releases exclusive access to the UART bus.
UART_USE_MUTUAL_EXCLUSION
must be enabled.[in] | uartp | pointer to the UARTDriver object |
Definition at line 514 of file hal_uart.c.
References UARTDriver::mutex, osalDbgCheck, and osalMutexUnlock().
void uart_lld_init | ( | void | ) |
Low level UART driver initialization.
Definition at line 65 of file hal_uart_lld.c.
References uartObjectInit().
Referenced by uartInit().
void uart_lld_start | ( | UARTDriver * | uartp | ) |
Configures and activates the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 80 of file hal_uart_lld.c.
References UARTDriver::state, and UART_STOP.
Referenced by uartStart().
void uart_lld_stop | ( | UARTDriver * | uartp | ) |
Deactivates the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 101 of file hal_uart_lld.c.
References UARTDriver::state, and UART_READY.
Referenced by uartStop().
void uart_lld_start_send | ( | UARTDriver * | uartp, |
size_t | n, | ||
const void * | txbuf | ||
) |
Starts a transmission on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to send |
[in] | txbuf | the pointer to the transmit buffer |
Definition at line 126 of file hal_uart_lld.c.
Referenced by uartSendFullTimeout(), uartSendTimeout(), uartStartSend(), and uartStartSendI().
size_t uart_lld_stop_send | ( | UARTDriver * | uartp | ) |
Stops any ongoing transmission.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 145 of file hal_uart_lld.c.
Referenced by uartStopSend(), and uartStopSendI().
void uart_lld_start_receive | ( | UARTDriver * | uartp, |
size_t | n, | ||
void * | rxbuf | ||
) |
Starts a receive operation on the UART peripheral.
[in] | uartp | pointer to the UARTDriver object |
[in] | n | number of data frames to send |
[out] | rxbuf | the pointer to the receive buffer |
Definition at line 163 of file hal_uart_lld.c.
Referenced by uartReceiveTimeout(), uartStartReceive(), and uartStartReceiveI().
size_t uart_lld_stop_receive | ( | UARTDriver * | uartp | ) |
Stops any ongoing receive operation.
[in] | uartp | pointer to the UARTDriver object |
Definition at line 182 of file hal_uart_lld.c.
Referenced by uartStopReceive(), and uartStopReceiveI().
UARTDriver UARTD1 |
UART1 driver identifier.
Definition at line 41 of file hal_uart_lld.c.