solarwind wrote: > However, the other types of busses which don't use a clock line are > the ones that confuse me. For example, I have no idea how UART > (although I use it all the time), USB and 1-wire work. For a UART the bus starts in the idle state. Characters are sent with a start bit preceeding the data bits. The start bit is the opposite polarity from the idle state. The data bits are then sent. Since both ends agree on the bit timing, the receiver synchronizes its clock to the leading edge of the start bit, then knows when the data bits are. For 8 bit characters, this leaves 8 1/2 bit times from the leading edge of the start bit to the middle of the last data bit. Reception will still be fine if the two ends are off by 1/4 bit by the middle of the last data bit. That is .25 / 8.5 = 3%, which is well within crystal, ceramic resonator, and even well tuned R/C oscillator capability. There is at least one stop bit between characters to guarantee the line is in the idle state at the start of the next start bit. This is why it takes 10 bit times to send 8 bits over a UART. USB works on this similar known bit speed principle, but is a lot more complicated. This is all in the USB spec, which is freely avialable. 1-wire timing works similarly again, but has extra complications due to its bi-directional nature. Again, see a spec for details. The data sheet for most chips using it will describe enough detail. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist