Hello o All-
I have searched this and other forums in an effort to gain some insight on a consensus may be for collision avoidance in half-duplex 485 networks. Some really interesting items were discovered such as the paper on acoustic networking with applications in underwater communications - pretty cool but not overly helpful.....

I have been working on a project which when finished will provide a backbone to some level of home automation (everyone needs a hobby). I have several PICs on a common 485 half-duplex network which is opto-isolated. I have base code which uses serial interrupts on the 2 serial ports - Thanks DT! - but I am now trying to figure out the best way to sense if the 485 network is busy and avoid collisions.
The reason for 2 networks is one is the 'node' network which has the controllers and the other is the 'stub' network which has all the lower-functioning pics that actually turn on/off stuff.
Essentially, the nodes all talk to each other while the stubs only talk to their respective node. Seems a bit overkill but it keeps the traffic to a minimum, PICs are cheap, and its a hobby.

I think in general terms, I check to see if my receive buffer has anything in it (RCREG1 or RCREG2) if not, wait some time (address of node times 10uS?), see if my buffer is still empty, if so -> transmit my packet.
As the nodes are all addressed, any packet which does not have the local node's address in the node byte, the local node just zeros out the variables and waits for another sync byte to be received.

I am using a PIC18F46K80 running at 64mHz, network speed of 57.6k and at an estimated packet length of no more than 10 bytes, I shouldn't have too much trouble.
But, as several here in this forum have inspired me to do better, I was curious what others may have done or what they think - without compromising any secrecy......
Am I on the right track?

Regards to All.