MicrOS
serial.h File Reference
#include <stdbool.h>
#include "assembly/io.h"

Go to the source code of this file.

Macros

#define COM1_PORT   0x3F8
 
#define COM2_PORT   0x2F8
 
#define COM3_PORT   0x3E8
 
#define COM4_PORT   0x2E8
 
#define DATA_REGISTER   0
 
#define INTERRUPT_ENABLE_REGISTER   1
 
#define DIVISOR_LOW_REGISTER   0
 
#define DIVISOR_HIGH_REGISTER   1
 
#define INTERRUPT_FIFO_CONTROL_REGISTER   2
 
#define LINE_CONTROL_REGISTER   3
 
#define MODEM_CONTROL_REGISTER   4
 
#define LINE_STATUS_REGISTER   5
 
#define MODEM_STATUS_REGISTER   6
 
#define SCRATCH_REGISTER   7
 
#define PARITY_NONE   0
 
#define PARITY_ODD   1
 
#define PARITY_EVEN   3
 
#define PARITY_MARK   5
 
#define PARITY_SPACE   7
 

Functions

void serial_init (unsigned int port, unsigned int baud_rate, unsigned int data_bits, unsigned int stop_bits, unsigned int parity)
 
bool serial_is_busy (unsigned int port)
 
bool serial_is_queue_empty (unsigned int port)
 
void serial_send (unsigned int port, char c)
 
void serial_send_string (unsigned int port, char *str)
 
char serial_receive (unsigned int port)
 

Macro Definition Documentation

◆ COM1_PORT

#define COM1_PORT   0x3F8

◆ COM2_PORT

#define COM2_PORT   0x2F8

◆ COM3_PORT

#define COM3_PORT   0x3E8

◆ COM4_PORT

#define COM4_PORT   0x2E8

◆ DATA_REGISTER

#define DATA_REGISTER   0

◆ DIVISOR_HIGH_REGISTER

#define DIVISOR_HIGH_REGISTER   1

◆ DIVISOR_LOW_REGISTER

#define DIVISOR_LOW_REGISTER   0

◆ INTERRUPT_ENABLE_REGISTER

#define INTERRUPT_ENABLE_REGISTER   1

◆ INTERRUPT_FIFO_CONTROL_REGISTER

#define INTERRUPT_FIFO_CONTROL_REGISTER   2

◆ LINE_CONTROL_REGISTER

#define LINE_CONTROL_REGISTER   3

◆ LINE_STATUS_REGISTER

#define LINE_STATUS_REGISTER   5

◆ MODEM_CONTROL_REGISTER

#define MODEM_CONTROL_REGISTER   4

◆ MODEM_STATUS_REGISTER

#define MODEM_STATUS_REGISTER   6

◆ PARITY_EVEN

#define PARITY_EVEN   3

◆ PARITY_MARK

#define PARITY_MARK   5

◆ PARITY_NONE

#define PARITY_NONE   0

◆ PARITY_ODD

#define PARITY_ODD   1

◆ PARITY_SPACE

#define PARITY_SPACE   7

◆ SCRATCH_REGISTER

#define SCRATCH_REGISTER   7

Function Documentation

◆ serial_init()

void serial_init ( unsigned int  port,
unsigned int  baud_rate,
unsigned int  data_bits,
unsigned int  stop_bits,
unsigned int  parity 
)

◆ serial_is_busy()

bool serial_is_busy ( unsigned int  port)

◆ serial_is_queue_empty()

bool serial_is_queue_empty ( unsigned int  port)

◆ serial_receive()

char serial_receive ( unsigned int  port)

◆ serial_send()

void serial_send ( unsigned int  port,
char  c 
)

◆ serial_send_string()

void serial_send_string ( unsigned int  port,
char *  str 
)