2.23. uart_soft — Bitbang UART

Source code: src/drivers/uart_soft.h, src/drivers/uart_soft.c


Defines

uart_soft_read(self_p, buf_p, size)

Read data from the UART.

Return
Number of received bytes or negative error code.
Parameters
  • self_p -

    Initialized driver object.

  • buf_p -

    Buffer to read into.

  • size -

    Number of bytes to receive.

uart_soft_write(self_p, buf_p, size)

Write data to the UART.

Return
number of sent bytes or negative error code.
Parameters
  • self_p -

    Initialized driver object.

  • buf_p -

    Buffer to write.

  • size -

    Number of bytes to write.

Functions

int uart_soft_init(struct uart_soft_driver_t *self_p, struct pin_device_t *tx_dev_p, struct pin_device_t *rx_dev_p, struct exti_device_t *rx_exti_dev_p, int baudrate, void *rxbuf_p, size_t size)

Initialize driver object from given configuration.

Return
zero(0) or negative error code.
Parameters
  • self_p -

    Driver object to be initialized.

  • tx_dev_p -

    TX pin device.

  • rx_dev_p -

    RX pin device.

  • rx_exti_dev_p -

    RX pin external interrupt device.

  • baudrate -

    Baudrate.

  • rxbuf_p -

    Reception buffer.

  • size -

    Reception buffer size.

struct uart_soft_driver_t

Public Members

struct pin_driver_t tx_pin
struct pin_driver_t rx_pin
struct exti_driver_t rx_exti
struct chan_t chout
struct queue_t chin
int sample_time
int baudrate