Why then this piece of code doesn't work on Atmel 24C256 and works with
24LC32A from Microchip? I get five times 04 on LCD in case of Atmel chip.
The hardware configuration is the same: pin1,2,3,8 on Vcc,4 on gnd, 5 SDA amd 6 scl with 4K7 pull ups. Pic is 16F876 with 20MHz crystal.
Thanks for answers!Code:define LOADER_USED 1 define OSC 20 define LCD_EREG PORTC define LCD_EBIT 1 Symbol SDA = PORTC.2 Symbol SCL = PORTC.3 addr_EE var word value var byte CTRL_EE con %10101110 ADCON1=7 TRISA=$00 lcdout $fe,1 main: lcdout "Writing..." pause 200 value=1 addr_EE=0 I2CWrite sda, scl, CTRL_EE, addr_EE, [value] pause 10 value=2 addr_EE=1 I2CWrite sda, scl, CTRL_EE, addr_EE, [value] pause 10 value=3 addr_EE=2 I2CWrite sda, scl, CTRL_EE, addr_EE, [value] pause 10 value=4 addr_EE=3 I2CWrite sda, scl, CTRL_EE, addr_EE, [value] pause 10 value=5 addr_EE=4 I2CWrite sda, scl, CTRL_EE, addr_EE, [value] pause 10 lcdout $fe,1,"Finished" lcdout $fe,1 for addr_EE=0 to 4 I2CRead sda, scl, CTRL_EE, addr_EE, [value] lcdout dec2 value," " next pa: goto pa end




Bookmarks