??? 04/15/09 21:27 Read: times |
#164635 - BRG set as part of UART Init (before EA) Responding to: ???'s previous message |
Ports are configured first,(so that individual init functions for I2C, ADC, UART, can reconfigure the ports as they want them.
After all inits are completed EA is enabled Here is the init code for the UART. nothing out of the ordinary I would think, most of this as per Code Architect (I think - it has been a while since I looked at what it generates) Regards Marshall void uart_init(void){ //turn on UART PCONA &= ~0x02; // configure UART // clear SMOD0 PCON &= ~0x40; SCON = 0x50; // set or clear SMOD1 PCON &= 0x7f; PCON |= (0 << 8); SSTAT = 0xE0; //enable double buffering for a bit more resiliency // enable break detect //AUXR1 |= 0x40; // configure baud rate generator BRGCON = 0x00; //set speed (19200) BRGR0 = 0x70; BRGR1 = 0x01; BRGCON = 0x03; // TxD = push-pull, RxD = input P1M1 &= ~0x01; P1M2 |= 0x01; P1M1 |= 0x02; P1M2 &= ~0x02; // Setup ring buffers. s_rxRingEmpty = 1; s_txRingEmpty = 1; s_rxWrIdx = 0; s_rxRdIdx = 0; s_txWrIdx = 0; s_txRdIdx = 0; // set receive isr priority to 0 IP0 &= 0xEF; IP0H &= 0xEF; IP0 |= 0x10; IP0H |= 0x10; // enable uart receive interrupt ESR = 1; //set tx priority to high IP1 |= 0x40; IP1H |= 0x40; // enable uart transmit interrupt EST = 1; //clear any Flags that may have been set during init. RI = 0; TI = 0; } |
Topic | Author | Date |
RI always set after EA Set | 01/01/70 00:00 | |
I don't know, but... | 01/01/70 00:00 | |
your application should be designed so as to be tolerant | 01/01/70 00:00 | |
Check if the Rx pin is pulled low? | 01/01/70 00:00 | |
Ports are set as: | 01/01/70 00:00 | |
without looking at the datasheet, I can say it is wrong | 01/01/70 00:00 | |
Why? | 01/01/70 00:00 | |
I did not clean my glasses | 01/01/70 00:00 | |
Config Registers | 01/01/70 00:00 | |
Check the BR and FE bits in SSTAT. | 01/01/70 00:00 | |
Yes they are set - Why? | 01/01/70 00:00 | |
When do you start the BRG? | 01/01/70 00:00 | |
BRG set as part of UART Init (before EA) | 01/01/70 00:00 | |
I would... | 01/01/70 00:00 | |
Thanks - Done![]() | 01/01/70 00:00 | |
aren't the LPC9xx's pins... | 01/01/70 00:00 | |
Yes but - it also happens in the real hardware | 01/01/70 00:00 | |
the point of asking nonsense questions... | 01/01/70 00:00 | |
Understood, appreciate being 2nd guessed | 01/01/70 00:00 | |
The Teddy Bear Effect | 01/01/70 00:00 |