I've tried everything to get it to work with the little program posted here, and have not been able to.
Based on the threads, I *think* I've got the connections and settings right, but it is not working. Then it occurred to me that PBP might not support it yet (?)
Things that are still a mystery are:
1. %10100000 is the device address, but is it required to set the last bit for read or write, or does the I2CREAD/WRITE commands handle that? IE, do I need to define two constants:
Chip1_w con %10100001 ' address of chip1 for writing
Chip1_R con %10100000 ' address of chip1 for reading
2. Do I ALWAYS have to write 64 bytes at a time?
3. What if I only want to store 1 byte value, am I storing 1 byte and 63 empty ones? Seems like a waste of space.
4. If I have to store 64 at a time, do I need to increment a storage address by 64 each time?
5. I note all the example files use the address as var byte. With large memory like this this has to be a 'word', right?
6. I've seen LOTS of defines, etc. If running a standard 16F876/A, using a 4 mhz EX crystal, is there some special sauce that is needed?
7. The chips say they are 400kb - is there some setting for the clock on the 16F876/A that must be set ?
8. I have 4.7K resistors on SDA and SCL to +5 - I hear that is needed all the time(?) or is it a recommendation
9. Is it required with PBP to ALWAYS have RA1 - > SCL, and RA0 - > SDA ? Or can you use other pins also?
Thanks! I hope the answer is out there!
Tom
Bookmarks