اطلاعیه

Collapse
No announcement yet.

مشکل با خواندن و نوشتن EEPROM 24C64

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

    مشکل با خواندن و نوشتن EEPROM 24C64

    سلام
    من در راه اندازی EEPROM 24C64 مشکل دارم
    کد من بصورت زیر هست

    #include <Wire.h>
    void eeprom_i2c_write(byte address, byte from_addr, byte data) {
    Wire.beginTransmission(address);
    Wire.write((int)(from_addr >> 8)); // MSB
    Wire.write((int)(from_addr & 0xFF)); // LSB
    Wire.write(data);
    Wire.endTransmission();
    delay(50);
    }
    int eeprom_i2c_read(int address, int from_addr) {
    Wire.beginTransmission(address);
    Wire.write(from_addr);
    Wire.endTransmission();
    Wire.endTransmission();
    Wire.requestFrom(address, 1);
    delay(50);
    if(Wire.available())
    return Wire.read();
    else
    return -1;
    }

    void setup() {
    Wire.begin();
    Serial.begin(9600);
    delay(2000);
    for(int i = 10; i < 20; i++) {
    eeprom_i2c_write(B01010000, i, i);
    Serial.println(i);
    delay(50);
    }
    Serial.println("Writen to memory!");
    }

    void loop() {
    for(int i = 10; i < 20; i++) {
    int r = eeprom_i2c_read(B01010000, i);
    Serial.print(i);
    Serial.print(" - ");
    Serial.print(r);
    Serial.print("\n");
    }
    delay(20000);
    }

    سیم بندی ای سی هم به اینصورته که پایه های 1و2و3و4و6 به زمین وصل شده و بقیه هم درست وصل شده
    با ذخیره مقادیر 10تا20 در خانه های 10تا20 هیچ اتفاقی نمی افتد و موقع خواندن همان خانه ها مقدار 255 است
    آدرس آی سی هم 0x50 تنظیم شده البته بصورت باینری (B01010000)
    کجای کارم ایراد داره؟
لطفا صبر کنید...
X