📄 usart0_setup.c
字号:
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 31 30 29 28 27 26 25 24
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | CTSIC DCDIC DSRIC RIIC |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 23 22 21 20 19 18 17 16
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | NACK RXBUFF TXBUFE ITERATIO TXEMPTY TIMEOUT |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 15 14 13 12 11 10 9 8
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | PARE FRAME OVRE ENDTX ENDRX RXBRK TXRDY RXRDY |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 7 6 5 4 3 2 1 0
//
pUsart0->US_IDR = 0xFFFF; // disable all USART0 interrupts
// USART0 Interrupt Mask Register US_IDR (read only)
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 31 30 29 28 27 26 25 24
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | CTSIC DCDIC DSRIC RIIC |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 23 22 21 20 19 18 17 16
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | NACK RXBUFF TXBUFE ITERATIO TXEMPTY TIMEOUT |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 15 14 13 12 11 10 9 8
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | PARE FRAME OVRE ENDTX ENDRX RXBRK TXRDY RXRDY |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 7 6 5 4 3 2 1 0
// read only, nothing to set up here
// USART0 Receive Holding Register US_RHR (read only)
//
// |-----------------------------------------------------------------------|
// | |
// |-----------------------------------------------------------------------|
// 31 24
//
// |-----------------------------------------------------------------------|
// | |
// |-----------------------------------------------------------------------|
// 23 16
//
// |--------|-----------------------------------------------------|--------|
// | RXSYNH RXCHR |
// |--------|-----------------------------------------------------|--------|
// 15 14 9 8
//
// |-----------------------------------------------------------------------|
// | RXCHR Y |
// |-----------------------------------------------------------------------|
// 7 0
// this is where any incoming character will be
// USART0 Transmit Holding Register US_THR (write only)
//
// |-----------------------------------------------------------------------|
// | |
// |-----------------------------------------------------------------------|
// 31 24
//
// |-----------------------------------------------------------------------|
// | |
// |-----------------------------------------------------------------------|
// 23 16
//
// |--------|-----------------------------------------------------|--------|
// | TXSYNH TXCHR |
// |--------|-----------------------------------------------------|--------|
// 15 14 9 8
//
// |-----------------------------------------------------------------------|
// | TXCHR Y |
// |-----------------------------------------------------------------------|
// 7 0
// this is where we place characters to be transmitted
// USART0 Baud Rate Generator Register US_BRGR (read/write)
//
// |-----------------------------------------------------------------------|
// | |
// |-----------------------------------------------------------------------|
// 31 24
//
// |--------------------------------------------|--------------------------|
// | FP |
// |--------------------------------------------|--------------------------|
// 23 19 18 16
//
// |-----------------------------------------------------------------------|
// | CD |
// |-----------------------------------------------------------------------|
// 15 8
//
// |-----------------------------------------------------------------------|
// | CD Y |
// |-----------------------------------------------------------------------|
// 7 0
pUsart0->US_BRGR = 0x139; // CD = 0x139 (313 from above calculation for 9600 baud)
// FP=0 (not used)
// USART0 Receiver Time-out Register US_RTOR (read/write)
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 31 30 29 28 27 26 25 24
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 23 22 21 20 19 18 17 16
//
// |-----------------------------------------------------------------------|
// | TO |
// |-----------------------------------------------------------------------|
// 15 9
//
// |-----------------------------------------------------------------------|
// | TO |
// |-----------------------------------------------------------------------|
// 7 0
//
pUsart0->US_RTOR = 0; // receiver time-out (disabled)
// USART0 transmitter TimeGuard Register US_TTGR (read/write)
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 31 30 29 28 27 26 25 24
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 23 22 21 20 19 18 17 16
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 15 14 13 12 11 10 9 8
//
// |-----------------------------------------------------------------------|
// | TG |
// |-----------------------------------------------------------------------|
// 7 0
//
pUsart0->US_TTGR = 0; // transmitter timeguard (disabled)
// USART0 FI DI RatioRegister US_FIDI (read/write)
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 31 30 29 28 27 26 25 24
//
// |--------|--------|--------|--------|--------|--------|--------|--------|
// | |
// |--------|--------|--------|--------|--------|--------|--------|--------|
// 23 22 21 20 19 18 17 16
//
// |--------|--------|--------|--------|--------|--------------------------|
// | FI_DI_RATIO |
// |--------|--------|--------|--------|--------|--------------------------|
// 15 14 13 12 11 10 9 8
//
// |-----------------------------------------------------------------------|
// | FI_DI_RATIO |
// |-----------------------------------------------------------------------|
// 7 0
// not used, nothing to set up here
// USART0 Number of Errors Register US_NER (read only)
//
// |-----------------------------------------------------------------------|
// | |
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -