Hi Charles, thanks for sharing..I will try it out..
tacbanon
Hi Charles, thanks for sharing..I will try it out..
tacbanon
@Charles
Sorry I was not able to make it work on my setup..I'm not really sure what the following code is doing, so I tried to comment it and assign a value, but no effect.
I hope it will be alright if you share the master side code?Code:I2CMajorAddress CON $3 I2CDeviceAddress = $8 'I2CAddress = (I2CMajorAddress <<4) | I2CDeviceAddress I2CAddress =$14
Thanks,
tacbanon
At this point, I'm thinking Al (aratti) was right.
AN734 didn't work either.
Bytes are being put in the SSPBUF without an address match.
So the slaves that aren't being accessed are overflowing during reads from other devices.
The code I gave earlier works because it's resetting the overflow in the main loop, but that's just not right.
I'm trying to get some more info from Labcenter.
DT
I am using a slight variant of the code I posted, and it is working fine. The only major change is that I'm sending a packet length byte, and I'm handling the entire receive packet inside the ISR. This is safe because I have my ( higher priority) timer interrupt watching over the whole process.
Charles Linquist
Hi,
Just want to ask if anyone tried to extend say 50meters communication between master and slave using I2C bus extender P82B715PN or similar?
Regards,
tacbanon
tacbannon,
The problem with Proteus and multiple I2C slaves has been fixed by Labcenter.
If you update Proteus to 7.10 SP1, you should have better luck.
DT
@ DT, Thanks for the update..I will find time to play with it(I2C multiple slaves) this weekend(so many work, little time to play)
Kind regards,
tacbanon
Bookmarks