Laszlo Kohegyi wrote: > > >Multi-master I2C is much more complex. It is a bus, not simple > >point-to-point. > >Think of it as a tiny local area network. You have similar issues. > >As well as collision detection, arbitration, you must think carefully about > >how your application deals with it. > > It isn't so hard. If you follow the I2C spec, there won't be any collision > and it has a built in arbitration scheme. > > Regards > Les By collisions, I mean two masters trying to grab the bus at the same time. These DO happen. Yes, the I2C arbitration scheme allows two masters to decide who gets the bus and who backs off. What I mean is that if your app has to back off, you have to define what it does then. The I2C spec can't tell you that. In my app, I just retry sending the messages again from the START condition. IMHO, it is bloody hard (and I'm not a newbie either) Not so much the I2C spec itself, but wrestling with Microchip's hardware and example software. Both of which have nasties in them. Honest!