اطلاعیه

Collapse
No announcement yet.

مشکل در 24c08

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در 24c08

    سلام به دوستان
    یک ic حافظه خارجی وصل کردم وقتی روی حافظه منویسم و در خط بعدی آنرا می خوانم مشکلی نیست
    اما وقتی همان مقادیر را پشت سر هم می خوانم آخرین مقدار نوشته شده را بر میگرداند
    لطفا راهنمایی کنید عیب از کجاست
    ممنون


    write_eeprom(unsigned int address,unsigned char data )
    {

    unsigned char send;


    i2c_start();
    i2c_write(write_address_bus);

    i2c_write((address & 0xff00)>>8);
    i2c_write(address & 0x00ff);

    i2c_write(data);
    i2c_stop();

    delay_ms(20);

    }

    unsigned char read_eeprom(unsigned int address) // write_eeprom(unsigned char data, unsigned int address)
    {
    unsigned char data_read;

    i2c_start();
    i2c_write(160);

    i2c_write((address & 0xff00)>>8);
    i2c_write(address & 0x00ff);


    i2c_start();
    i2c_write(161);
    data_read=i2c_read(0);
    i2c_stop();
    E2PROM_Cont=0,delay_us(100);
    return data_read;


    }





    while (1)
    {
    char b;

    lcd_clear();


    lcd_gotoxy(0,1);
    b=read_eeprom(2000);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    b=read_eeprom(2001);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    b=read_eeprom(2002);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    b=read_eeprom(2003);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);



    lcd_gotoxy(0,0);
    write_eeprom(2000,11);

    b=read_eeprom(2000);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    write_eeprom(2001,12);

    b=read_eeprom(2001);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    write_eeprom(2002,13);

    b=read_eeprom(2002);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);
    write_eeprom(2003,14);

    b=read_eeprom(2003);sprintf(aaa,"%d",b); lcd_puts(aaa);delay_ms(1000);




    }





لطفا صبر کنید...
X