Skip to content

File syn_port_uart.h

FileList > port > syn_port_uart.h

Go to the source code of this file

UART port interface — functions the user must implement. More...

  • #include "../common/syn_defs.h"

Public Functions

Type Name
SYN_Status syn_port_uart_deinit (SYN_UARTInstance instance)
De-initialize a UART peripheral.
SYN_Status syn_port_uart_init (SYN_UARTInstance instance, uint32_t baudrate)
Initialize a UART peripheral.
SYN_Status syn_port_uart_receive (SYN_UARTInstance instance, uint8_t * data, size_t len, size_t * received, uint32_t timeout_ms)
Receive bytes into a buffer (blocking).
SYN_Status syn_port_uart_receive_byte (SYN_UARTInstance instance, uint8_t * byte, uint32_t timeout_ms)
Receive a single byte (blocking).
SYN_Status syn_port_uart_transmit (SYN_UARTInstance instance, const uint8_t * data, size_t len, uint32_t timeout_ms)
Transmit a buffer of bytes (blocking).
SYN_Status syn_port_uart_transmit_byte (SYN_UARTInstance instance, uint8_t byte)
Transmit a single byte (blocking).

Detailed Description

Provides the low-level byte/buffer transmit and receive primitives that the higher-level syn_uart driver builds upon.

Public Functions Documentation

function syn_port_uart_deinit

De-initialize a UART peripheral.

SYN_Status syn_port_uart_deinit (
    SYN_UARTInstance instance
) 

Parameters:

  • instance UART instance to de-initialize.

Returns:

SYN_OK on success.


function syn_port_uart_init

Initialize a UART peripheral.

SYN_Status syn_port_uart_init (
    SYN_UARTInstance instance,
    uint32_t baudrate
) 

Parameters:

  • instance UART instance number (0, 1, 2, …).
  • baudrate Desired baud rate.

Returns:

SYN_OK on success.


function syn_port_uart_receive

Receive bytes into a buffer (blocking).

SYN_Status syn_port_uart_receive (
    SYN_UARTInstance instance,
    uint8_t * data,
    size_t len,
    size_t * received,
    uint32_t timeout_ms
) 

Parameters:

  • instance UART instance.
  • data Buffer to receive into.
  • len Maximum number of bytes to receive.
  • received [out] Actual number of bytes received.
  • timeout_ms Timeout in milliseconds (0 = no timeout).

Returns:

SYN_OK on success, SYN_TIMEOUT if the timeout elapsed.


function syn_port_uart_receive_byte

Receive a single byte (blocking).

SYN_Status syn_port_uart_receive_byte (
    SYN_UARTInstance instance,
    uint8_t * byte,
    uint32_t timeout_ms
) 

Parameters:

  • instance UART instance.
  • byte [out] Received byte.
  • timeout_ms Timeout in milliseconds (0 = no timeout).

Returns:

SYN_OK if a byte was received, SYN_TIMEOUT otherwise.


function syn_port_uart_transmit

Transmit a buffer of bytes (blocking).

SYN_Status syn_port_uart_transmit (
    SYN_UARTInstance instance,
    const uint8_t * data,
    size_t len,
    uint32_t timeout_ms
) 

Parameters:

  • instance UART instance.
  • data Pointer to data to transmit.
  • len Number of bytes to transmit.
  • timeout_ms Timeout in milliseconds (0 = no timeout).

Returns:

SYN_OK on success, SYN_TIMEOUT if the timeout elapsed.


function syn_port_uart_transmit_byte

Transmit a single byte (blocking).

SYN_Status syn_port_uart_transmit_byte (
    SYN_UARTInstance instance,
    uint8_t byte
) 

Parameters:

  • instance UART instance.
  • byte Byte to transmit.

Returns:

SYN_OK on success.



The documentation for this class was generated from the following file src/syntropic/port/syn_port_uart.h