Code:
' *** I2C EEPROM using Siftin/out
START_Shiftin:
READ_DATA:
lcdout Lcdcmd , Line4, "Reading EEPROM Data "
For ADDR_LB = 0 To 50
GOSUB INT_ROM
GOSUB START_ROM
SHIFTOUT DPIN,CPIN,1,[ExtMem0R]
SHIFTIN DPIN,CPIN,0,[ACK\1,DATI\8]
SHIFTOUT DPIN,CPIN,1,[%1\1]
GOSUB STOP_ROM
lcdout Lcdcmd , Line3, "ADDR:",DEC ADDR_LB," "
lcdout Lcdcmd , Line3+10, "DATA:",DEC DATI," "
PAUSE 250
NEXT ADDR_LB
Return
INT_ROM:
GOSUB START_ROM
SHIFTOUT DPIN,CPIN,1,[ExtMem0W]
SHIFTIN DPIN,CPIN,0,[ACK\1]
SHIFTOUT DPIN,CPIN,1,[ADDR_HB]
SHIFTIN DPIN,CPIN,0,[ACK\1]
SHIFTOUT DPIN,CPIN,1,[ADDR_LB]
SHIFTIN DPIN,CPIN,0,[ACK\1]
RETURN
START_ROM:
HIGH CPIN:HIGH DPIN:LOW DPIN
RETURN
STOP_ROM:
HIGH CPIN:LOW DPIN:HIGH DPIN
RETURN
end
' *** I2C EEPROM using PicBasic I2C commands
START_I2C:
lcdout Lcdcmd , Line4, "Reading EEPROM Data "
For ADDR = 0 To 50
I2CREAD DPIN,CPIN,$A0,ADDR,[DATI]
lcdout Lcdcmd , Line3, "ADDR:",DEC ADDR," "
lcdout Lcdcmd , Line3+10, "DATA:",DEC DATI," "
PAUSE 250
Next ADDR
Return
Bookmarks