53 #define UART_INSTANCE_COUNT 2 59 #define UART_0_BASE 0x4000C000 60 #define UART_1_BASE 0x4000D000 66 #define UART_DR 0x00000000 67 #define UART_RSR 0x00000004 68 #define UART_ECR 0x00000004 69 #define UART_FR 0x00000018 70 #define UART_ILPR 0x00000020 71 #define UART_IBRD 0x00000024 72 #define UART_FBRD 0x00000028 73 #define UART_LCRH 0x0000002C 74 #define UART_CTL 0x00000030 75 #define UART_IFLS 0x00000034 76 #define UART_IM 0x00000038 77 #define UART_RIS 0x0000003C 78 #define UART_MIS 0x00000040 79 #define UART_ICR 0x00000044 80 #define UART_DMACTL 0x00000048 81 #define UART_LCTL 0x00000090 82 #define UART_LSS 0x00000094 83 #define UART_LTIM 0x00000098 84 #define UART_NINEBITADDR 0x000000A4 85 #define UART_NINEBITAMASK 0x000000A8 86 #define UART_PP 0x00000FC0 87 #define UART_CC 0x00000FC8 93 #define UART_DR_OE 0x00000800 94 #define UART_DR_BE 0x00000400 95 #define UART_DR_PE 0x00000200 96 #define UART_DR_FE 0x00000100 97 #define UART_DR_DATA 0x000000FF 103 #define UART_RSR_OE 0x00000008 104 #define UART_RSR_BE 0x00000004 105 #define UART_RSR_PE 0x00000002 106 #define UART_RSR_FE 0x00000001 112 #define UART_ECR_DATA 0x000000FF 118 #define UART_FR_TXFE 0x00000080 119 #define UART_FR_RXFF 0x00000040 120 #define UART_FR_TXFF 0x00000020 121 #define UART_FR_RXFE 0x00000010 122 #define UART_FR_BUSY 0x00000008 123 #define UART_FR_CTS 0x00000001 129 #define UART_ILPR_ILPDVSR 0x000000FF 135 #define UART_IBRD_DIVINT 0x0000FFFF 141 #define UART_FBRD_DIVFRAC 0x0000003F 147 #define UART_LCRH_SPS 0x00000080 148 #define UART_LCRH_WLEN 0x00000060 149 #define UART_LCRH_FEN 0x00000010 150 #define UART_LCRH_STP2 0x00000008 151 #define UART_LCRH_EPS 0x00000004 152 #define UART_LCRH_PEN 0x00000002 153 #define UART_LCRH_BRK 0x00000001 159 #define UART_LCRH_WLEN_8 0x00000060 160 #define UART_LCRH_WLEN_7 0x00000040 161 #define UART_LCRH_WLEN_6 0x00000020 162 #define UART_LCRH_WLEN_5 0x00000000 168 #define UART_CTL_CTSEN 0x00008000 169 #define UART_CTL_RTSEN 0x00004000 170 #define UART_CTL_RXE 0x00000200 171 #define UART_CTL_TXE 0x00000100 172 #define UART_CTL_LBE 0x00000080 173 #define UART_CTL_LIN 0x00000040 174 #define UART_CTL_HSE 0x00000020 175 #define UART_CTL_EOT 0x00000010 176 #define UART_CTL_SMART 0x00000008 177 #define UART_CTL_SIRLP 0x00000004 178 #define UART_CTL_SIREN 0x00000002 179 #define UART_CTL_UARTEN 0x00000001 185 #define UART_IFLS_RXIFLSEL 0x00000038 186 #define UART_IFLS_TXIFLSEL 0x00000007 192 #define UART_IFLS_RXIFLSEL_7_8 0x00000020 193 #define UART_IFLS_RXIFLSEL_3_4 0x00000018 194 #define UART_IFLS_RXIFLSEL_1_2 0x00000010 195 #define UART_IFLS_RXIFLSEL_1_4 0x00000008 196 #define UART_IFLS_RXIFLSEL_1_8 0x00000000 202 #define UART_IFLS_TXIFLSEL_1_8 0x00000004 203 #define UART_IFLS_TXIFLSEL_1_4 0x00000003 204 #define UART_IFLS_TXIFLSEL_1_2 0x00000002 205 #define UART_IFLS_TXIFLSEL_3_4 0x00000001 206 #define UART_IFLS_TXIFLSEL_7_8 0x00000000 212 #define UART_IM_LME5IM 0x00008000 213 #define UART_IM_LME1IM 0x00004000 214 #define UART_IM_LMSBIM 0x00002000 215 #define UART_IM_NINEBITIM 0x00001000 216 #define UART_IM_OEIM 0x00000400 217 #define UART_IM_BEIM 0x00000200 218 #define UART_IM_PEIM 0x00000100 219 #define UART_IM_FEIM 0x00000080 220 #define UART_IM_RTIM 0x00000040 221 #define UART_IM_TXIM 0x00000020 222 #define UART_IM_RXIM 0x00000010 223 #define UART_IM_CTSIM 0x00000002 229 #define UART_RIS_LME5RIS 0x00008000 230 #define UART_RIS_LME1RIS 0x00004000 231 #define UART_RIS_LMSBRIS 0x00002000 232 #define UART_RIS_NINEBITRIS 0x00001000 233 #define UART_RIS_OERIS 0x00000400 234 #define UART_RIS_BERIS 0x00000200 235 #define UART_RIS_PERIS 0x00000100 236 #define UART_RIS_FERIS 0x00000080 237 #define UART_RIS_RTRIS 0x00000040 238 #define UART_RIS_TXRIS 0x00000020 239 #define UART_RIS_RXRIS 0x00000010 240 #define UART_RIS_CTSRIS 0x00000002 246 #define UART_MIS_LME5MIS 0x00008000 247 #define UART_MIS_LME1MIS 0x00004000 248 #define UART_MIS_LMSBMIS 0x00002000 249 #define UART_MIS_NINEBITMIS 0x00001000 250 #define UART_MIS_OEMIS 0x00000400 251 #define UART_MIS_BEMIS 0x00000200 252 #define UART_MIS_PEMIS 0x00000100 253 #define UART_MIS_FEMIS 0x00000080 254 #define UART_MIS_RTMIS 0x00000040 255 #define UART_MIS_TXMIS 0x00000020 256 #define UART_MIS_RXMIS 0x00000010 257 #define UART_MIS_CTSMIS 0x00000002 263 #define UART_ICR_LME5IC 0x00008000 264 #define UART_ICR_LME1IC 0x00004000 265 #define UART_ICR_LMSBIC 0x00002000 266 #define UART_ICR_NINEBITIC 0x00001000 267 #define UART_ICR_OEIC 0x00000400 268 #define UART_ICR_BEIC 0x00000200 269 #define UART_ICR_PEIC 0x00000100 270 #define UART_ICR_FEIC 0x00000080 271 #define UART_ICR_RTIC 0x00000040 272 #define UART_ICR_TXIC 0x00000020 273 #define UART_ICR_RXIC 0x00000010 274 #define UART_ICR_CTSIC 0x00000002 280 #define UART_DMACTL_DMAERR 0x00000004 281 #define UART_DMACTL_TXDMAE 0x00000002 282 #define UART_DMACTL_RXDMAE 0x00000001 288 #define UART_LCTL_BLEN 0x00000030 289 #define UART_LCTL_MASTER 0x00000001 295 #define UART_LSS_TSS 0x0000FFFF 301 #define UART_LTIM_TIMER 0x0000FFFF 307 #define UART_NINEBITADDR_NINEBITEN 0x00008000 308 #define UART_NINEBITADDR_ADDR 0x000000FF 314 #define UART_NINEBITAMASK_RANGE 0x0000FF00 315 #define UART_NINEBITAMASK_MASK 0x000000FF 321 #define UART_PP_NB 0x00000002 322 #define UART_PP_SC 0x00000001 328 #define UART_CC_CS 0x00000007 void uart_init(uint8_t uart)
Initialises the UART controller, configures I/O control and interrupts.
void uart_write_byte(uint8_t uart, uint8_t b)
Sends a single character down the UART.
void uart_set_input(uint8_t uart, int(*input)(unsigned char c))
Assigns a callback to be called when the UART receives a byte.
static void input(void)
Process a received 6lowpan packet.