MicrOS
serial.h
Go to the documentation of this file.
1 #ifndef SERIAL_H
2 #define SERIAL_H
3 
4 #include <stdbool.h>
5 #include "assembly/io.h"
6 
7 #define COM1_PORT 0x3F8
8 #define COM2_PORT 0x2F8
9 #define COM3_PORT 0x3E8
10 #define COM4_PORT 0x2E8
11 
12 #define DATA_REGISTER 0
13 #define INTERRUPT_ENABLE_REGISTER 1
14 #define DIVISOR_LOW_REGISTER 0
15 #define DIVISOR_HIGH_REGISTER 1
16 #define INTERRUPT_FIFO_CONTROL_REGISTER 2
17 #define LINE_CONTROL_REGISTER 3
18 #define MODEM_CONTROL_REGISTER 4
19 #define LINE_STATUS_REGISTER 5
20 #define MODEM_STATUS_REGISTER 6
21 #define SCRATCH_REGISTER 7
22 
23 #define PARITY_NONE 0
24 #define PARITY_ODD 1
25 #define PARITY_EVEN 3
26 #define PARITY_MARK 5
27 #define PARITY_SPACE 7
28 
29 void serial_init(unsigned int port, unsigned int baud_rate, unsigned int data_bits, unsigned int stop_bits, unsigned int parity);
30 bool serial_is_busy(unsigned int port);
31 bool serial_is_queue_empty(unsigned int port);
32 void serial_send(unsigned int port, char c);
33 void serial_send_string(unsigned int port, char *str);
34 char serial_receive(unsigned int port);
35 
36 #endif
bool serial_is_queue_empty(unsigned int port)
Definition: serial.c:41
void serial_init(unsigned int port, unsigned int baud_rate, unsigned int data_bits, unsigned int stop_bits, unsigned int parity)
Definition: serial.c:3
void serial_send_string(unsigned int port, char *str)
Definition: serial.c:52
char serial_receive(unsigned int port)
Definition: serial.c:61
void serial_send(unsigned int port, char c)
Definition: serial.c:46
bool serial_is_busy(unsigned int port)
Definition: serial.c:36