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.
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
Thanks for answers!