Determing Unknown Baud Rate
Often times I end up with some sort of device that has an RS-232 port, but that I don't have any idea what baud rate it uses, etc. I used to just hook it up to a terminal and try all of the different baud rates while trying to get something intelligible to show up. Unfortunately there are a large number of baud rates to choose from and getting the device to output anything is often tricky, especially if you don't know the pinout (although a Black Box Clever Cable makes this a little more bearable).
Eventually I got fed up with this, especially after I just couldn't find the right parameters for an LG IrisAccess 2200 iris scanner (for which I am still looking for docs) and so I decided that I needed to some up with a better solution, so I took an RS-232 breakout box and soldered on some test-points so I could hook it up to a scope.
You simply hook up an oscilloscope to the TX pin (just keep guessing till you find it!) and set the scope to trigger on a pulse. You then measure the time of the shortest pulse and take the reciprocal to figure out the baud rate (ok, actually I wrote this page so I would have some place to put the table so I can just look up the answer because typing bc is too hard :-).
Here is an example:
From this we can see that the period of the shortest pulse is 26µs -- 1/26µs (1/26*106) = 38461 -- round this to the closest real baudrate, 38400, or 34.8k
Here the shortest pule is 100µs -- this is 1/100*106 or 10,000bps -- this is obviously not a real baud-rate, but it is really close to 9,600bps.
If you are unable to send a break command with your terminal program (to a 9600baud device, like a Cicco switch, etc), this often works...
Change the baud rate to 1200 baud, N,8,1. Reboot the device, hold down the space bar for 10 - 15 seconds. Change the baud rate back to 9600. Done.
A space at 1200 is close enough to a break at 9600 to satisfy most devices.