1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
typedef enum
{
UART_REG_DLL = 0, /* 00 Divisor Latch Low */
UART_REG_DLH, /* 01 Divisor Latch High */
UART_REG_RXD = 0, /* 00 Receive Data */
UART_REG_TXD = 0, /* 00 Transmit Data */
UART_REG_IER, /* 01 Interrupt Enable */
UART_REG_IIR, /* 02 Interrupt Indicator */
UART_REG_LCR, /* 03 Line Control */
UART_REG_MCR, /* 04 Modem Control */
UART_REG_LSR, /* 05 Line Status */
UART_REG_MSR, /* 06 Modem Status */
UART_REG_SCR, /* 07 SCratch */
UART_REG_NB
}
tUART_REG;
/* Macros de reduction (plus facile a utiliser) */
#define DLL UART_REG_DLL
#define DLH UART_REG_DLH
#define RXD UART_REG_RXD
#define TXD UART_REG_TXD
#define IER UART_REG_IER
#define IIR UART_REG_IIR
#define LCR UART_REG_LCR
#define MCR UART_REG_MCR
#define LSR UART_REG_LSR
#define MSR UART_REG_MSR
#define SCR UART_REG_SCR
#define REG_MAX ((uint) (UART_REG_NB - 1))
#define REG_PAS 1
#define LCR_WL_MSK ((uint)(bit1|bit0))
#define LCR_WL_DEC 0
#define LCR_STB bit2
#define LCR_PEN bit3
#define LCR_EPS bit4
#define LCR_DLAB bit7
#define MCR_DTR bit0 /* 108 */
#define MCR_RTS bit1 /* 105 */
#define MCR_OUT1 bit2
#define MCR_OUT2 bit3
#define MSR_CTS bit4
#define MSR_DSR bit5
#define MSR_RI bit6
#define MSR_DCD bit7
#define IIR_IP ((uint) bit0)
#define IIR_AI ((uint) (bit1|bit2))
#define LSR_RXDA bit0
#define LSR_OE bit1
#define LSR_PE bit2
#define LSR_FE bit3
#define LSR_BD bit4
#define LSR_TXDE bit5
#define LSR_TXMS bit6 |
Partager