PatchworkOS
Loading...
Searching...
No Matches
com.h
Go to the documentation of this file.
1#pragma once
2
3#include <stdint.h>
4
5typedef enum com_port
6{
7 COM1 = 0x3F8,
8 COM2 = 0x2F8,
9 COM3 = 0x3E8,
10 COM4 = 0x2E8,
11 COM5 = 0x5F8,
12 COM6 = 0x4F8,
13 COM7 = 0x5E8,
14 COM8 = 0x48E
16
32
33typedef enum com_line_control
34{
39 COM_LINE_DLAB = 1 << 7
41
42typedef enum com_modem_control
43{
44 COM_MODEM_DTR = 1 << 0,
45 COM_MODEM_RTS = 1 << 1,
48 COM_MODEM_LOOP = 1 << 4
50
51typedef enum com_line_status
52{
56
57void com_init(com_port_t port);
58
60
61void com_write(com_port_t port, uint8_t value);
62
64
65void com_reg_write(com_port_t port, com_reg_t reg, uint8_t value);
void com_reg_write(com_port_t port, com_reg_t reg, uint8_t value)
Definition com.c:37
com_port_t
Definition com.h:6
@ COM1
Definition com.h:7
@ COM4
Definition com.h:10
@ COM5
Definition com.h:11
@ COM2
Definition com.h:8
@ COM8
Definition com.h:14
@ COM3
Definition com.h:9
@ COM7
Definition com.h:13
@ COM6
Definition com.h:12
com_line_status_t
Definition com.h:52
@ COM_LINE_WRITE_READY
Definition com.h:54
@ COM_LINE_READ_READY
Definition com.h:53
com_line_control_t
Definition com.h:34
@ COM_LINE_DLAB
Definition com.h:39
@ COM_LINE_SIZE_5
Definition com.h:35
@ COM_LINE_SIZE_7
Definition com.h:37
@ COM_LINE_SIZE_6
Definition com.h:36
@ COM_LINE_SIZE_8
Definition com.h:38
com_modem_control_t
Definition com.h:43
@ COM_MODEM_OUT2
Definition com.h:47
@ COM_MODEM_RTS
Definition com.h:45
@ COM_MODEM_DTR
Definition com.h:44
@ COM_MODEM_OUT1
Definition com.h:46
@ COM_MODEM_LOOP
Definition com.h:48
void com_write(com_port_t port, uint8_t value)
Definition com.c:23
uint8_t com_read(com_port_t port)
Definition com.c:14
com_reg_t
Definition com.h:18
@ COM_REG_MODEM_CONTROL
Definition com.h:27
@ COM_REG_BAUD_LOW
Definition com.h:22
@ COM_REG_RECEIVE
Definition com.h:19
@ COM_REG_SCRATCH
Definition com.h:30
@ COM_REG_LINE_CONTROL
Definition com.h:26
@ COM_REG_INTERRUPT_ID
Definition com.h:24
@ COM_REG_FIFO_CONTROL
Definition com.h:25
@ COM_REG_TRANSMIT
Definition com.h:20
@ COM_REG_LINE_STATUS
Definition com.h:28
@ COM_REG_MODEM_STATUS
Definition com.h:29
@ COM_REG_BAUD_HIGH
Definition com.h:23
@ COM_REG_INTERRUPT_ENABLE
Definition com.h:21
void com_init(com_port_t port)
Definition com.c:4
uint8_t com_reg_read(com_port_t port, com_reg_t reg)
Definition com.c:32
__UINT8_TYPE__ uint8_t
Definition stdint.h:11