Hello,
I have development boards for the LM3S9B92 and the LM4f232H5QD. When I hook up the LM3S9B92's UART0 (PA0, PA1) and UART1 (PD2, PD3) to my PC via an RS-232 interface, all communication happens as expected, at any baud from 9600 to 115200.
When I hook up the LM4F232H5QD's UART0 (PA0, PA1) and UART1 (C4, C5) with the same RS-232 interface, the communication is 'messed up'.
When I transmit a stream of 20 bytes with uniform bits, I do get 20 bytes on the other end - though not necessarily the right ones:
0x00:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xFF:
FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC FC
When I transmit bytes with bits that differ, the length seen on the other end varies:
0x01:
3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00
3C 00 3C 00 3C 00 3C 00 3C 00 3C 00 3C 00
0x10:
C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C
00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0 3C 00 C0
3C 00 C0 3C 00 C0 3C 00
This seems to indicate that my baud rate isn't actually what I'm setting it to. I've tried switching the UART from being clocked from the precision internal oscillator to the system clock, with no success. I've also tried replacing the UART Stellarisware ROM calls I was using with normal Stellarisware calls, in case there was a bug in those.
I see nothing in the errata, examples, or this forum for the LM4F 232H5QD to explain the problem. I'm not sure if this problem can arise from the microcontroller being damaged, so I may end up trying again on a new board. Any other suggestions?
Thanks.