File indexing completed on 2025-05-11 08:23:04
0001
0002
0003
0004
0005
0006
0007 #ifndef LPC22XX_UART_H
0008 #define LPC22XX_UART_H
0009
0010
0011
0012
0013
0014
0015
0016
0017 #define FIFODEEP 16
0018
0019 #define BD115200 115200
0020 #define BD38400 38400
0021 #define BD9600 9600
0022
0023
0024 #define U0_PINSEL (0x00000005)
0025
0026 #define U0_PINMASK (0x0000000F)
0027
0028 #define U1_PINSEL (0x00050000)
0029
0030 #define U1_PINMASK (0x000F0000)
0031
0032
0033
0034
0035
0036
0037 #define LCR_WORDLENTH_BIT 0
0038 #define LCR_STOPBITSEL_BIT 2
0039 #define LCR_PARITYENBALE_BIT 3
0040 #define LCR_PARITYSEL_BIT 4
0041 #define LCR_BREAKCONTROL_BIT 6
0042 #define LCR_DLAB_BIT 7
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052 #define ULCR_CHAR_5 (0 << 0)
0053
0054 #define ULCR_CHAR_6 (1 << 0)
0055
0056 #define ULCR_CHAR_7 (2 << 0)
0057
0058 #define ULCR_CHAR_8 (3 << 0)
0059
0060 #define ULCR_STOP_0 (0 << 2)
0061
0062 #define ULCR_STOP_1 (1 << 2)
0063
0064 #define ULCR_PAR_NO (0 << 3)
0065
0066 #define ULCR_PAR_ODD (1 << 3)
0067
0068 #define ULCR_PAR_EVEN (3 << 3)
0069
0070 #define ULCR_PAR_MARK (5 << 3)
0071
0072 #define ULCR_PAR_SPACE (7 << 3)
0073
0074 #define ULCR_BREAK_ENABLE (1 << 6)
0075
0076 #define ULCR_DLAB_ENABLE (1 << 7)
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086 #define UMCR_DTR (1 << 0)
0087
0088 #define UMCR_RTS (1 << 1)
0089
0090 #define UMCR_LB (1 << 4)
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100 #define ULSR_RDR (1 << 0)
0101
0102 #define ULSR_OE (1 << 1)
0103
0104 #define ULSR_PE (1 << 2)
0105
0106 #define ULSR_FE (1 << 3)
0107
0108 #define ULSR_BI (1 << 4)
0109
0110 #define ULSR_THRE (1 << 5)
0111
0112 #define ULSR_TEMT (1 << 6)
0113
0114 #define ULSR_RXFE (1 << 7)
0115 #define ULSR_ERR_MASK 0x1E
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125 #define UMSR_DCTS (1 << 0)
0126
0127 #define UMSR_DDSR (1 << 1)
0128
0129 #define UMSR_TERI (1 << 2)
0130
0131 #define UMSR_DDCD (1 << 3)
0132
0133 #define UMSR_CTS (1 << 4)
0134
0135 #define UMSR_DSR (1 << 5)
0136
0137 #define UMSR_RI (1 << 6)
0138
0139 #define UMSR_DCD (1 << 7)
0140
0141
0142
0143
0144
0145
0146
0147
0148 #define IIR_RSL 0x3
0149 #define IIR_RDA 0x2
0150 #define IIR_CTI 0x6
0151 #define IIR_THRE 0x1
0152
0153
0154
0155
0156
0157
0158
0159
0160 #define IER_RBR 0x1
0161 #define IER_THRE 0x2
0162 #define IER_RLS 0x4
0163
0164
0165
0166
0167
0168
0169
0170
0171 #define RC_FIFO_OVERRUN_ERR 0x1
0172 #define RC_OVERRUN_ERR 0x2
0173 #define RC_PARITY_ERR 0x4
0174 #define RC_FRAMING_ERR 0x8
0175 #define RC_BREAK_IND 0x10
0176
0177
0178
0179 typedef enum {
0180 UART0 = 0,
0181 UART1
0182 } LPC_UartChanel_t;
0183
0184
0185
0186 #endif
0187