Uart Serial for SAM.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include "compiler.h"
#include "sysclk.h"
#include "flexcom.h"
#include "uart.h"
#include "usart.h"
#include "conf_uart_serial.h"
Data Structures | |
struct | uart_rs232_options |
Input parameters when initializing RS232 and similar modes. More... | |
Typedefs | |
typedef Usart * | usart_if |
This type can be used independently to refer to USART module for the architecture used. More... | |
typedef struct uart_rs232_options | usart_rs232_options_t |
Input parameters when initializing RS232 and similar modes. More... | |
typedef usart_rs232_options_t | usart_serial_options_t |
Functions | |
static void | usart_serial_getchar (usart_if p_usart, uint8_t *data) |
Waits until a character is received, and returns it. More... | |
static void | usart_serial_init (usart_if p_usart, usart_serial_options_t *opt) |
Initializes the Usart in master mode. More... | |
static uint32_t | usart_serial_is_rx_ready (usart_if p_usart) |
Check if Received data is ready. More... | |
static int | usart_serial_putchar (usart_if p_usart, const uint8_t c) |
Sends a character with the USART. More... | |
status_code_t | usart_serial_read_packet (usart_if usart, uint8_t *data, size_t len) |
Receive a sequence of bytes to a USART device. More... | |
status_code_t | usart_serial_write_packet (usart_if usart, const uint8_t *data, size_t len) |
Send a sequence of bytes to a USART device. More... | |
This type can be used independently to refer to USART module for the architecture used.
It refers to the correct type definition for the architecture, ie. USART_t* for XMEGA or avr32_usart_t* for UC3.
typedef struct uart_rs232_options usart_rs232_options_t |
Input parameters when initializing RS232 and similar modes.
|
inlinestatic |
Waits until a character is received, and returns it.
p_usart | Base address of the USART instance. |
data | Data to read |
References UART, UNUSED, and usart_read().
Referenced by stdio_serial_init(), and usart_serial_read_packet().
|
inlinestatic |
Initializes the Usart in master mode.
p_usart | Base address of the USART instance. |
opt | Options needed to set up RS232 communication (see usart_options_t). |
References uart_rs232_options::baudrate, sam_usart_opt_t::baudrate, sam_usart_opt_t::channel_mode, sam_usart_opt_t::char_length, uart_rs232_options::charlength, sam_usart_opt_t::parity_type, uart_rs232_options::paritytype, sam_usart_opt_t::stop_bits, uart_rs232_options::stopbits, sysclk_enable_peripheral_clock(), sysclk_get_peripheral_bus_hz(), UART, usart_enable_rx(), usart_enable_tx(), and usart_init_rs232().
Referenced by stdio_serial_init().
|
inlinestatic |
Check if Received data is ready.
p_usart | Base address of the USART instance. |
1 | One data has been received. |
0 | No data has been received. |
References UART, and usart_is_rx_ready().
|
inlinestatic |
Sends a character with the USART.
p_usart | Base address of the USART instance. |
c | Character to write. |
1 | The character was written. |
0 | The function timed out before the USART transmitter became ready to send. |
References UART, and usart_write().
Referenced by stdio_serial_init(), and usart_serial_write_packet().
status_code_t usart_serial_read_packet | ( | usart_if | usart, |
uint8_t * | data, | ||
size_t | len | ||
) |
Receive a sequence of bytes to a USART device.
usart | Base address of the USART instance. |
data | data buffer to write |
len | Length of data |
Receive a sequence of bytes to a USART device.
usart | Base address of the USART instance. |
data | Data buffer to write |
len | Length of data |
References STATUS_OK, and usart_serial_getchar().
status_code_t usart_serial_write_packet | ( | usart_if | usart, |
const uint8_t * | data, | ||
size_t | len | ||
) |
Send a sequence of bytes to a USART device.
usart | Base address of the USART instance. |
data | data buffer to write |
len | Length of data |
Send a sequence of bytes to a USART device.
usart | Base address of the USART instance. |
data | Data buffer to read |
len | Length of data |
References STATUS_OK, and usart_serial_putchar().