Pico GPS Teseo I2C
|
Hardware UART API. More...
Macros | |
#define | UART_NUM(uart) |
Returns the UART number for a UART instance. | |
#define | UART_INSTANCE(num) |
Returns the UART instance with the given UART number. | |
#define | UART_DREQ_NUM(uart, is_tx) |
Returns the dreq_num_t used for pacing DMA transfers to or from this UART instance. If is_tx is true, then it is for transfers to the UART else for transfers from the UART. | |
#define | UART_CLOCK_NUM(uart) |
Returns clock_num_t of the clock for the given UART instance. | |
#define | UART_FUNCSEL_NUM(uart, gpio) |
Returns gpio_function_t needed to select the UART function for the given UART instance on the given GPIO number. | |
#define | UART_IRQ_NUM(uart) |
Returns the irq_num_t for processor interrupts from the given UART instance. | |
#define | UART_RESET_NUM(uart) |
Returns the reset_num_t used to reset a given UART instance. | |
Enumerations | |
enum | uart_parity_t { UART_PARITY_NONE , UART_PARITY_EVEN , UART_PARITY_ODD } |
UART Parity enumeration. More... | |
Functions | |
uint | uart_init (uart_inst_t *uart, uint baudrate) |
Initialise a UART. | |
void | uart_deinit (uart_inst_t *uart) |
DeInitialise a UART. | |
uint | uart_set_baudrate (uart_inst_t *uart, uint baudrate) |
Set UART baud rate. | |
void | uart_set_format (uart_inst_t *uart, uint data_bits, uint stop_bits, uart_parity_t parity) |
Set UART data format. | |
void | uart_set_fifo_enabled (uart_inst_t *uart, bool enabled) |
Enable/Disable the FIFOs on specified UART. | |
void | uart_set_break (uart_inst_t *uart, bool en) |
Assert a break condition on the UART transmission. | |
void | uart_set_translate_crlf (uart_inst_t *uart, bool translate) |
Set CR/LF conversion on UART. | |
bool | uart_is_readable_within_us (uart_inst_t *uart, uint32_t us) |
Wait for up to a certain number of microseconds for the RX FIFO to be non empty. | |
#define | uart0 ((uart_inst_t *)uart0_hw) |
Identifier for UART instance 0. | |
#define | uart1 ((uart_inst_t *)uart1_hw) |
Identifier for UART instance 1. | |
Hardware UART API.
RP-series microcontrollers have 2 identical instances of a UART peripheral, based on the ARM PL011. Each UART can be connected to a number of GPIO pins as defined in the GPIO muxing.
Only the TX, RX, RTS, and CTS signals are connected, meaning that the modem mode and IrDA mode of the PL011 are not supported.
#define uart0 ((uart_inst_t *)uart0_hw) |
#define uart1 ((uart_inst_t *)uart1_hw) |
#define UART_CLOCK_NUM | ( | uart | ) |
Returns clock_num_t of the clock for the given UART instance.
Note this macro is intended to resolve at compile time, and does no parameter checking
#define UART_DREQ_NUM | ( | uart, | |
is_tx ) |
Returns the dreq_num_t used for pacing DMA transfers to or from this UART instance. If is_tx is true, then it is for transfers to the UART else for transfers from the UART.
Note this macro is intended to resolve at compile time, and does no parameter checking
#define UART_FUNCSEL_NUM | ( | uart, | |
gpio ) |
Returns gpio_function_t needed to select the UART function for the given UART instance on the given GPIO number.
Note this macro is intended to resolve at compile time, and does no parameter checking
#define UART_INSTANCE | ( | num | ) |
#define UART_IRQ_NUM | ( | uart | ) |
#define UART_NUM | ( | uart | ) |
#define UART_RESET_NUM | ( | uart | ) |
Returns the reset_num_t used to reset a given UART instance.
Note this macro is intended to resolve at compile time, and does no parameter checking
enum uart_parity_t |
void uart_deinit | ( | uart_inst_t * | uart | ) |
uint uart_init | ( | uart_inst_t * | uart, |
uint | baudrate ) |
Initialise a UART.
Put the UART into a known state, and enable it. Must be called before other functions.
This function always enables the FIFOs, and configures the UART for the following default line format:
Initialise a UART.
\taguart_init[]
bool uart_is_readable_within_us | ( | uart_inst_t * | uart, |
uint32_t | us ) |
uint uart_set_baudrate | ( | uart_inst_t * | uart, |
uint | baudrate ) |
Set UART baud rate.
Set baud rate as close as possible to requested, and return actual rate selected.
The UART is paused for around two character periods whilst the settings are changed. Data received during this time may be dropped by the UART.
Any characters still in the transmit buffer will be sent using the new updated baud rate. uart_tx_wait_blocking() can be called before this function to ensure all characters at the old baud rate have been sent before the rate is changed.
This function should not be called from an interrupt context, and the UART interrupt should be disabled before calling this function.
Set UART baud rate.
void uart_set_break | ( | uart_inst_t * | uart, |
bool | en ) |
void uart_set_fifo_enabled | ( | uart_inst_t * | uart, |
bool | enabled ) |
Enable/Disable the FIFOs on specified UART.
The UART is paused for around two character periods whilst the settings are changed. Data received during this time may be dropped by the UART.
Any characters still in the transmit FIFO will be lost if the FIFO is disabled. uart_tx_wait_blocking() can be called before this function to avoid this.
This function should not be called from an interrupt context, and the UART interrupt should be disabled when calling this function.
void uart_set_format | ( | uart_inst_t * | uart, |
uint | data_bits, | ||
uint | stop_bits, | ||
uart_parity_t | parity ) |
Set UART data format.
Configure the data format (bits etc) for the UART.
The UART is paused for around two character periods whilst the settings are changed. Data received during this time may be dropped by the UART.
Any characters still in the transmit buffer will be sent using the new updated data format. uart_tx_wait_blocking() can be called before this function to ensure all characters needing the old format have been sent before the format is changed.
This function should not be called from an interrupt context, and the UART interrupt should be disabled before calling this function.
uart | UART instance. uart0 or uart1 |
data_bits | Number of bits of data. 5..8 |
stop_bits | Number of stop bits 1..2 |
parity | Parity option. |
Set UART data format.