On Wed, 28 Jul 2010, Drew Maurer wrote: > Another, related, question - what happens to the USART when the TMR0 > interrupt fires? Does it finish sending the byte normally? Reason being= , > this is a servo driver/current monitor for my lonelybot.com project - the > TMR0 interrupt is used to generate the 20ms "off" time for the servo's PW= M > input; when the 20ms is up, the interrupt holds control for the 1-2ms ser= vo > pulse. 4800 baud means that my data strings collide with the interrupt > frequently - my testing shows that, at 4800 baud almost 70% of my strings > collide with the interrupt in this way, which is unacceptable because I h= ave > to repeat the request 5 or 10 times which is really going to flood the da= ta > bus on my boat. Can I ignore these interrupts in my data? Am I guarante= ed > that the data is still good, just delayed? Doing the servo pulse timing as you describe is reasonable if you are=20 controlling multiple servos. Consider using two PICs, one for the servo=20 control and one for the comms. You could get the comms PIC to buffer data=20 and present it to the servo controller as fast (high speed bursts "packet=20 at a time" over SPI) or slow (byte at a time as requested) as you want. Regards Sergio Masci --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .