2.24. 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
#include <uart_soft.h>

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