Quoth Andrew Kohlsmith: > > I would hate to try and do it from software with an interrupt. > > Yuck. > > It's not that bad. :-) IRQ on transmit holding or shift register > empty (ideally the latter). If you have only a THRE type interrupt
> then you have to set a timer for 1 word time (usually 9 bits) and > after that timer, disable the transmitter. Of course when you go > to send data again you have to make sure you turn on the > transmitter. We've gone that route, for a master device (ie. other hardware will start transmitting back on the half-duplex channel almost immediately after the end of transmission) and had no end of trouble with getting the interrupt processed in time to avoid corrupting the reply. And this was on a board that wasn't even running an OS, so demands were relatively light. Sure, it worked fine *most* of the time, but that's not good enough. :) (Of course, it also had a pretty low-spec CPU, which didn't help.) We eventually switched to a UART that had hardware control of that line, and the problems went away. _______________________________________________ uClinux-dev mailing list uClinux-dev@uclinux.org http://mailman.uclinux.org/mailman/listinfo/uclinux-dev This message was resent by uclinux-dev@uclinux.org To unsubscribe see: http://mailman.uclinux.org/mailman/options/uclinux-dev