NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3270 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 1 از 1

موضوع: مشکل با تراشه eeprom خارجی مدل AT24C512

  1. #1
    عضو جدید
    تاریخ عضویت
    May 2015
    نوشته ها
    5
    تشکر
    2
    تشکر شده 3 بار در 3 پست

    پیش فرض مشکل با تراشه eeprom خارجی مدل AT24C512

    با سلام
    من با استفاده از برنامه ی موجود در این وبلاگ :
    http://powercontrol.mihanblog.com/extrapage/2126
    برنامه ی ساده ی زیر رو نوشتم.
    در پروتئوس به درستی اجرا میشه ولی روی برد اصلیم که میبرم فقط صفر رو نمایش میده
    بیت رایت پروتکتد و آدرسها رو هم به زمین وصل کردم.
    البته ولتاژ پایه ی scl صفر هست. علت مشکل اینه ؟ و راه حلش چیه ؟

    راه حلی به ذهنم نمیرسه. ممنون میشم کسی راهنمایی و کمک کنه

    عملکرد این تراشه ارتباطی با فرکانس میکرو و بیت ریت خودش نداره ؟ من روی اعداد مختلفی امتحان کردم

    #include <mega32.h>
    /* the I2C bus is connect to PORTB */
    /* the SDA signal is bit 0 */
    /* the SCL signal is bit 1 */
    #include <i2c.h>
    #include <delay.h>
    #include <stdio.h>
    // Graphic LCD functions
    #include <glcd.h>
    // Font used for displaying text
    // on the graphic LCD
    #include <font5x7.h>
    #include <stdlib.h>

    #define EEPROM_BUS_ADDRESS 0XA0

    int data;
    char str[15];

    /* function eeprom_read for read
    a byte from the external eeprom*/
    unsigned char eeprom_read(unsigned char address)
    {
    unsigned char data;
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS);
    i2c_write(address);
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS | 1);
    data=i2c_read(0);
    i2c_stop();
    return data;
    }

    /* function eeprom_write for writ
    a byte to the external eeprom*/
    unsigned char eeprom_write(unsigned char address,unsigned char data)
    {
    i2c_start();
    i2c_write(EEPROM_BUS_ADDRESS);
    i2c_write(address);
    i2c_write(data);
    i2c_stop();
    delay_ms(20); // 10 ms delay to complete the write opertion
    }

    void main(void)
    {
    // Declare your local variables here

    // Graphic LCD initialization data
    GLCDINIT_t glcd_init_data;

    // Specify the current font for displaying text
    glcd_init_data.font=font5x7;
    // No function is used for reading
    // image data from external memory
    glcd_init_data.readxmem=NULL;
    // No function is used for writing
    // image data to external memory
    glcd_init_data.writexmem=NULL;


    glcd_init(&glcd_init_data);

    DDRA=0XFF;

    /* initialize the i2c bus */
    i2c_init();


    eeprom_write(0x00,0xAB);
    PORTA= eeprom_read(0x00);

    data=eeprom_read(0x00);

    //SHow the result on GLCD
    itoa(data,str);
    glcd_outtextxy(14,6,str);

    while(1);
    }

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

موضوعات مشابه

  1. مشکل با eeprom
    توسط mstkmn در انجمن stm32
    پاسخ: 0
    آخرين نوشته: 21-04-2014, 10:16
  2. [سوال] ٍeeprom
    توسط a.afkhami94 در انجمن AVR
    پاسخ: 6
    آخرين نوشته: 15-04-2014, 22:29
  3. مشکل در فایل hex , eeprom
    توسط parsafar در انجمن AVR
    پاسخ: 5
    آخرين نوشته: 22-08-2013, 22:39
  4. حافظه EEprom
    توسط behnam6500 در انجمن سایر موارد
    پاسخ: 4
    آخرين نوشته: 02-06-2013, 09:38
  5. eeprom
    توسط safavism در انجمن AVR
    پاسخ: 4
    آخرين نوشته: 03-06-2012, 01:44

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •