/* * serial.h * * Created on: 07.06.2019 * Author: harry */ #ifndef SERIAL_H_ #define SERIAL_H_ #include "fifo.h" #ifndef FALSE #define FALSE 0 #define TRUE (!FALSE) #endif #define MAX_SERIALS 2 typedef struct { UART_HandleTypeDef *PortHandle; void (*CharReceived)(void *Instance, uint8_t rxchar); void (*InitDriver)(void *Instance); void *Instance; }SerialDriverLink_t; typedef struct { SerialDriverLink_t *Driver; void *self; uint8_t rxcharb; uint8_t tx_idle; fifo_t txbuf; }SerialDriverHandle_t; // typedef SerialDriver_t SerialDriverHandle_t; void serial_init(); SerialDriverHandle_t* AddSerial(UART_HandleTypeDef *uart_handle, SerialDriverLink_t *driver, uint8_t *tx_buf, uint16_t tx_bufsize); void serial_putc(SerialDriverHandle_t *handle, char c); #endif /* SERIAL_H_ */