On Fri 05 Sep, David Duffy wrote: > > Has anyone tried to use the 12c509 at 9600 Baud ? (4Mhz OTP's) > It works well at 2400 Baud, but even when using the on-chip calibration > value not all chips work at 9600. I'm guessing that the timing must be > off enough not to lock. The 509 is being fed from a PC via a RS-232 > TTL > converter. When I use the JW chip, all is OK. I've run the simulator with > stopwatch and I get the exact bit delays required. I get the feeling that > 9600 Baud with these chips is never going to be reliable using the 4Mhz > internal oscillator. Any ideas or comments would be appreciated. :-) Use it all the time, and it works fine. Assuming you've got your OSCCAL set properly, your frequency should be withing 1% or so of 4MHz, more than accurate enough for reliable async comms. I found that adding a two-out-of-three majority detect greatly improved reception accuracy, so you might try that. To use that, I call a subroutine rather than reading the pin directly. The subroutine then returns the carry flag and W register set to the value of the pin (and it does the inversion if I'm not using a level shifter IC). If it works in a JW, then maybe you're not clearing all of your variables? Or are you accidentally overwriting your OSCCAL value at 0x3ff? Frank ------------------------------------------------------------------------ Frank A. Vorstenbosch Phone: +44-181-636 3391 Electronics & Software Engineer or: +44-181-636 3000 Eidos Technologies Ltd., Wimbledon, London Mobile: +44-976-430 569