Thanks for looking DT. I'm currently running the above code "as is" on 2 breadboards side by side.
Still losing a byte every time I do an i2cread.
I tried reading one byte at a time instead of six, and I get: 1, 3, 5, 1, 3, 5. So no matter how many bytes I receive at once, it always skips the byte immediately proceeding those bytes.
*edit* My circuit is identical to yours there DT except for 10mhz crystals + caps, and I only have an LCD on the master PIC.
In case its relevant, these are my configs:
Code:
__CONFIG _CONFIG1H, _OSC_HSPLL_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
__CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
__CONFIG _CONFIG3H, _CCP2MX_PORTC_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_ON_3H
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _XINST_OFF_4L

Originally Posted by
Darrel Taylor
Hey Kamikaze,
I didn't see a problem from just looking at the code, so I ran it in the simulator.
And I don't see a problem there either.
On the master I get " 1 2 3 4 5 6".
It does not change.
I only added a toggle in the Master's main loop to verify it was looping.
And a toggle in the Slave's handler, to verify the transfers.
Is there something you stripped out before posting that could have caused it?
Attachment 4704
Last edited by Kamikaze47; - 16th August 2010 at 13:52.
Reason: added more information
"I think fish is nice, but then I think that rain is wet, so who am I to judge?" - Douglas Adams
Bookmarks