I had some problems setting up my USART.
I built ELMs serial port programmer and his programmer doesn't use capacitors to ground on the transmission lines, unlike many other designs, and the programmer works through hundreds of programmings so far.
So I thought I was safe without transmission line capacitors, when I then wanted to accomplish serial communication using the USART I decided to use the MAX232 serial port driver. I used it for only debugging(micro to PC HyperTerm) for a while and it worked nicely.
Then trying to receive data on the micro from the computer every once in a while it would reset my microcontroller. Sometimes I had to send only one character to the microcontroller, sometimes as many as 20+, but it was pretty random. The micro was receiving the data that didn't reset the micro, I could spit it back out to the terminal. I spent a day or two making sure it wasn't my code, including changing the baud rate. Then I remembered something about "ringing" on the transmission lines, so finally I added a 10nF capacitor(first low value I found lying around) from the micros RXD pin to ground and the resetting disappeared and the USART is working normally now.
To note, the rest of the circuit is decoupled in serveral areas, I tried this solution first because I wasn't decoupling originally, but that didn't fix the problem.
I'll bring it into university and hook it up to the oscilliscope to see if there is any "ringing" on the line without the capacitor.
Has anyone else had this sort of experiance with the MAX232? I browsed some of the maxim datasheets surrounding this chip and didn't see anything related to this.
Also, does anyone have any insight into if this could in fact be ringing? And what would be a proper value for the capacitor on the transmission line?