GaIA BIOS Library
Loading...
Searching...
No Matches
serial.h File Reference

Serial Driver. More...

#include <stdint.h>
#include <stdbool.h>

Data Structures

struct  serial_data_t
 The serial data. More...
struct  serial_t
 SERIAL Peripheral Descriptor. More...

Macros

#define BAUD_600   (0)
 600 bps
#define BAUD_1200   (1)
 1200 bps
#define BAUD_2400   (2)
 2400 bps
#define BAUD_4800   (3)
 4800 bps
#define BAUD_9600   (4)
 9600 bps
#define BAUD_19200   (5)
 19200 bps
#define BAUD_38400   (6)
 38400 bps
#define BAUD_57600   (7)
 57600 bps
#define BAUD_115200   (8)
 115200 bps
#define BAUD_187500   (9)
 187500 bps
#define BAUD_230400   (10)
 230400 bps
#define BAUD_460800   (11)
 460800 bps
#define BAUD_921600   (12)
 921600 bps
#define BAUD_1MBit   (13)
 1000000 bps
#define BAUD_2MBit   (14)
 2000000 bps
#define FRAME_8N1   (0)
 8-bit data, no parity, 1 stop bit
#define FRAME_8E1   (1)
 8-bit data, even parity, 1 stop bit
#define FRAME_8O1   (2)
 8-bit data, odd parity, 1 stop bit
#define FRAME_8N2   (3)
 8-bit data, no parity, 2 stop bits
#define FRAME_9N1   (4)
 9-bit data, no parity, 1 stop bit
#define FRAME_8E2   (5)
 8-bit data, even parity, 2 stop bits
#define SER_DIAG_FAIL   (1)
#define SER_DIAG_OK   (0)

Functions

void serial_lib_init (void)
 Initializes the SERIAL library.
uint8_t ser_init (uint8_t port, uint8_t baud, uint8_t frame, void(*tx_int)(void *arg), void(*rx_int)(void *arg), void *arg)
 Initializes a serial port.
void ser_change_baud (uint8_t port, uint8_t baud)
 Changes baudrate for an initialized serial port.
void ser_outchar (uint8_t port, uint16_t data)
 Send out a character.
serial_data_t ser_inchar (uint8_t port)
 Reads a character.
void ser_enable485 (uint8_t port)
 Enables 485 serial transmission.
void ser_disable485 (uint8_t port)
 Disables 485 serial transmission.
uint16_t ser_time485 (uint8_t port, uint8_t baudrate)
 When required, computes the time to wait, before disabling the 485 tranceiver in order to let it transmit the last character.
void ser_enable_interrupts (uint8_t port)
 Enables serial interrupts for the given port.
void ser_disable_interrupts (uint8_t port)
 Disables serial interrupts for the given port.
void ser_enable_tx_interrupt (uint8_t port)
 Enables Tx interrupt for the given port.
void ser_disable_tx_interrupt (uint8_t port)
 Disables Tx interrupt for the given port.
void ser_set_tx_interrupt (uint8_t port)
 Set Tx interrupt (sets interrupts flag) Triggers a tx interrupt.
void ser_clear_tx_interrupt (uint8_t port)
 Clears Tx interrupt (clears the interrupt flag)
void ser_enable_rx_interrupt (uint8_t port)
 Enables Rx Interrupt.
void ser_disable_rx_interrupt (uint8_t port)
 Disables Rx Interrupt.

Detailed Description

Serial Driver.

Serial driver.

Author
Tecnologix, 2014