I have a big problem. I need I2C multimaster comm. with PIC16F877. I read the microchip's AN578. This program use bit banging for master mode. It doesn't work for me... :?:
If I use the firmware controlled master mode (SSPCON='00111110'), I can't output 0 to SCL or SDA. I can write to TRISC,3,4 to 0, but PORTC3,4 can't, only if disable the SSP modul.
I have a big problem. I need I2C multimaster comm. with PIC16F877. I read the microchip's AN578. This program use bit banging for master mode. It doesn't work for me... :?:
If I use the firmware controlled master mode (SSPCON='00111110'), I can't output 0 to SCL or SDA. I can write to TRISC,3,4 to 0, but PORTC3,4 can't, only if disable the SSP modul.
I thought multiple masters was one of the things I2C just wasn't designed to do. A master does not check to see if the bus is free and there is no scheme for negotiating multiple masters trying to take the bus at the same time.
Why do you need to do this? If you've got a piece of fixed hardware that wants to be the master, you can't hack it to accomodate mult masters. If you are writing the masters, as it sounds like you're doing, you would just make a system with only a single master. You'd need to convert the other "masters" to slaves.