Programmed a network using RS485 Master/Slaves. An Apple was the master and the slaves were several single board computers logging data. The master would poll each slave and get current status and if it had a completed log message to send. There was no acknowledgment in the protocol. If the slave had a log message ready, the master would ask the slave for that particular log message (each log message had a sequential number id (modulo something) that it had sent in the polled status message. After the slave sent the logged message, it would mark that message as sent, but not destroy the message until it needed that logging space again. The master would remember what log message it had asked for and keep asking for that same message id until it got a good copy of it. Again, no acknowledgement of messages took place. The master or any/all slaves could be powered down at any time. The data received as the master did it "status" poll of each slave was for informational use and not critical. The logs were important but for statistical use only and not for safety reasons. All messages were in ASCII characters with numbers being decimal. The fields were separated by a "tab" character delineator. This served two purposes. It was easy to see what each message contained and could be directly imported to a spread sheet. Each message contained a "to", "from" and "message type" field. Followed by the data fields for that type of message, ending with a very simple check sum of all digits. All fields separated by a tab character. There may have been a special field(one character)used as "start of message", and a different one before or after the checksum field used as "end of message". There was also a special id for broadcasting to all slaves. The slave would look for a "start of message" character/field and read the "to" field. I it was not that slaves id, then it would go back looking for the "start of message" character. If it was for that slave then it would read the whole message and comply if the checksum was ok. Each slave had a seven segment led display a couple led's and a keypad. With this, the activity on the line could provide some information for diagnostics. Might be a good ideal to use a led to blink when a slave received something on the line and double blink when it responded. Bill //////////// -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist