Quote Originally Posted by Dave View Post
CNTRL_BYTE CON $A0 'CONTROL BYTE FOR 24LC1025 I2C EEPROM MEMORY (A0/A1 USED FOR CHIP SELECT)
Maybe this is where I am getting confused... you have the control byte being $A0 which is basically saying to write to the 24LC1025 seeing how the read write bit in that is a 0 like this "10100000" but the you say in your comment that the A0/A1 is for chip select...So in this following line of code where I have the $A0 is that the 8 bit control byte or just the Chip Select portion of it???

Code:
I2CREAD PORTB.1,PORTB.4,$A0,addr,[B1]
See I thought if I wanted to write to chip select A1 I needed to use $A2 or in binary like this %10100010 and if I wanted to read from it I needed to use $A3 or in binary like this %10100011.

Every combination to read and write to all 4 Chips:

%10100000 or $A0 = Write to A0 (Pins A0 & A1 Tied Low)
%10100001 or $A1 = Read from A0
%10100010 or $A2 = Write to A1 (Pins A0 Tied Low & A1 Tied High)
%10100011 or $A3 = Read from A1
%10100100 or $A4 = Write to A2 (Pins A0 Tied High & A1 Tied Low)
%10100101 or $A5 = Read from A2
%10100110 or $A6 = Write to A3 (Pins A0 and A1 Tied High)
%10100111 or $A7 = Read from A3

So with me having both A0 and A1 Pins Tied to ground I should be using the first 2 options when trying to read/write to the chip or am I just way off on this???

Am I incorrect in my thinking of what PBP is calling the Control Byte???