On Sat, Dec 20, 2008 at 6:25 PM, Sid Price <[email protected]> wrote:
I am working on a design using the one UART0 on a mega164p and I am having an issue with initialization of the UART. I notice that when I enable the TX a byte of all zeros is transmitted. I even see this if I assert the TX enable bit with the debugger. Is this normal? Is there a way to avoid it? >> I recall running into something similar. >> I don't have data sheets here in front of me to give you specific bit names. >> In some of the older parts the Tx Empty bit is set by default and the bit >> is Read Only. So as soon as you enable the UART IRQ a byte is sent. >> On the newer parts the bit is Read/Write so you can manipulate it >> to prevent this behavior. >>However I would not go with that solution. You need to expect >>that there will be bouges values on your serial line at power up >>and power down. This could be completely outside of the control of the CPU, >>for example the power supply slew rate to your RS232 driver. There could >>also be random bytes at anytime due to someone walking by with a Cell Phone >> or ESD events. Thank you Bob, I absolutely agree that the communications protocol needs to cope with malformed messages and random data events. My interest in posting this was two-fold, firstly was the behavior of the microcontroller "normal" and secondly if it was not then was it a symptom of some other issue with my design. It appears that data emitted is well formed and not a noise event, I find that a rather odd "design feature". Thanks for the thoughts, Sid.
_______________________________________________ AVR-chat mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/avr-chat
