اطلاعیه

Collapse
No announcement yet.

serial_eeprom

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

    serial_eeprom

    سلام دوستان
    من از این برنامه برای eeprom 24C04 استفاده کردم مشکل اینجاست
    که این برنامه برای eeprom 24C04 فقط 256 بایت رو مینویسه ومیخونه
    در حالی که با همین برنامه میشه تمام حافظه یک eeprom 24C64 v رو
    نوشت وخوند مشکل کجاست .
    ممنون میشوم یه با دیگه کمکم کنید :redface:

    #include <90s2313.h>
    #include <delay.h>
    #asm
    .equ __i2c_port=0x12
    .equ __sda_bit=6
    .equ __scl_bit=5
    #endasm
    #include <i2c.h>

    unsigned char eeprom_read(unsigned int address)
    {
    unsigned char data;
    i2c_start();
    i2c_write(160);
    i2c_write((address & 0x1fff)>>8);
    i2c_write(address & 0x1fff);
    i2c_start();
    i2c_write(161);
    data=i2c_read(0);
    i2c_stop();
    return data;
    }

    void eeprom_write(unsigned int address, unsigned char data)
    {
    i2c_start();
    i2c_write(160);
    i2c_write((address & 0x1fff)>>8);
    i2c_write(address & 0x1fff);
    i2c_write(data);
    i2c_stop();
    delay_ms(10);
    }


    void main(void)
    {
    i2c_init();
    DDRB=0xff;

    eeprom_write(511,0x55)
    PORTB=eeprom_read(511);

    while (1);
    }
    دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

    #2
    پاسخ : serial_eeprom

    سلام دوست عزیز
    بعد از خواندن 256 بایت پشت سر هم
    باید یک بار دوباره آدرس جدید رو برای آی سی بفرستی
    چون آی سی های EEPROM سریال توانایی خواندن تنها یک Page رو دارن که مقدار این Page در آی سی های مختلف متفاوته

    موفق باشی

    دیدگاه


      #3
      پاسخ : serial_eeprom

      سلام
      ممنونم که پاسخ دادی
      این که (((بعد از خواندن 256 بایت پشت سر هم
      باید یک بار دوباره آدرس جدید رو برای آی سی بفرستی)))
      امتحان کردم اما فکر کنم درست منظورتان را نفهمیدم اگر لطف کنید
      یه نمونه مثال برام بزاری ممنون می شوم
      منتظر جوابتان هستم
      ممنون
      دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

      دیدگاه


        #4
        پاسخ : serial_eeprom

        سلام دوستان
        کمکم کنید برای کارم لازم ممنون می شوم
        دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

        دیدگاه


          #5
          پاسخ : serial_eeprom

          سلام دوستان
          کمک کنید برای یه تابلو روان نیاز فوری دارم. :angry: :angry: :angry:
          دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

          دیدگاه


            #6
            پاسخ : serial_eeprom

            نوشته اصلی توسط electro_mega8
            سلام دوستان
            کمک کنید برای یه تابلو روان نیاز فوری دارم. :angry: :angry: :angry:
            ببخشید یه چند روز نبودم


            ببین شما و قتی میخوای از یک حافظه بخوانی اول Address خود آی سی بعد خواندن یا نوشتن بعد Address خانه ای از حافظه که به اون نیاز داری رو برای آی سی میفرستی بعد میتوانی اطلاعات رو بخوانی و یک ACK برای آی سی بفرستی
            حالا بعد از 256 بار خواندن خانه حافظه، باید یک Nack برای آی سی بفرستی و دوباره از اول مراحل را تکرار کنی آدرس آی سی به همراه دستور خواندن یا نوشتن ،بعد آدرس خانه ای که میخواهی در آن بنویسی یا از آن بخوانی را دوباره برای آی سی بفرستی


            موفق باشی

            دیدگاه


              #7
              پاسخ : serial_eeprom

              سلام
              دوباره مزاحم شدم عذر می خوام :redface:
              نمی دونم این کدویژن خیلی سخته :angry: یا من خیلی خنگم
              من که نتونستم اگه ممکنه یه برنامه کدویژن
              برام بزاری ممنونت می شوم
              شاید این توری بهتر بفهمم
              منتظر جوابتون هستم
              دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

              دیدگاه


                #8
                پاسخ : serial_eeprom

                دوست عزیز متاسفانه من با Codevision کار نکردم
                آیا سرعت خواندن اطلاعات توی پروژه مهم هست؟

                دیدگاه


                  #9
                  پاسخ : serial_eeprom

                  آیا سرعت خواندن اطلاعات توی پروژه مهم هست؟

                  سلام ممنون
                  نه در حال حاظر که بیشتر برام یادگیری کار با این ایپرام دیونه است
                  زیاد سرعت برام مهم نیست.
                  راستی اگه ممگنه زودتر این نمونه برنامه با کد ویژن رو بزارید کارم خیلی
                  گیر کرده
                  دوستان کمک کنید دست خالی نرم خدا خیرتون بده
                  دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

                  دیدگاه


                    #10
                    پاسخ : serial_eeprom

                    خوب پس برای شروع میتونی
                    تک تک آدرس دهی کنی
                    برای خواندن هر خانه حافظه ادرس اون خانه را به E2PROM بفرست تا بتوانیمحتویات اون خانه رو بخوانی

                    باز هم ساده تر :
                    شما الان هر دستوری را که برای خواندن خانه اول مینویسی ، برای خانه های دیگر هم تکرار کن با این تفاوت که آدرس حافظه یکی یکی اضافه میشود


                    موفق باشی

                    دیدگاه

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