Other Parts Discussed in Thread: UNIFLASH, , MAX232
Hello All,
I was trying to implement a circular buffer using UART. In the testing stage I simply output an ASCII character('a') inside infinite while loop. It was working fine till I disconnected the power supply and turned it ON again(about 30 secs delay). At this point of time some random character started appearing on the screen instead of ASCII 'a'. We need to press reset switch every time after each power ON cycle to print the characters properly. Instead of using Direct Register Access program model I tested with some Tivaware examples. It didn't solve the problem. An interesting thing to be noted here is that it happens only with 9600 baudrate. When I changed the baudrate from 9600 to 115200, the code started printing characters as expected (It only created problem at the very first power on cycle which is acceptable). From PC side I am configuring it for 9600 8-N-1. I tried PuTTy, teraterm, hyperterminal and arduino serial monitor with no success (teratern even refused to print those characters). When I repeated the experiment with Arduino IDE and Arduino UNO, it worked perfectly fine with all softwares. This behavior is so random in nature ie if I don't give more than a couple of seconds delay between power ON and OFF the problem doesn't come. I have discussed a similar problem in the following thread but at that point of time putting a delay between UART init and infinite while loop solved the problem.
https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/534352
Some screen shots are attached for your reference.
Any help would be greatly appreciated