اطلاعیه

Collapse
No announcement yet.

مشکل با eeprom خارجی با ظرفیت بالا

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

    مشکل با eeprom خارجی با ظرفیت بالا

    با سلام خدمت اساتید گرامی
    من AT24C02 رو به راحتی باهاش کار میکنم ولی وقتی این قطعه رو بر میدارم و به جاش AT24C128 یا 64 میذارم دیگه درست کار نمیکنه و تو هر آدرسی مینویسم فقط مقدار 255 رو نشون میده. از کتابخونه i2c.h استفاده میکنم و موقع نوشتن، همه ی دستورات مقدار 1 رو بر میگردونن ولی موقع خوندن فقط مقدار 255 رو نشون میده. کسی میدونه مشکل از کجاست؟
    از سه تا مغازه ی مختلف این قطعه ها رو خریدم هم SMD هم DIP ولی همشون همین مشکلو دارن.

    #2
    پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

    نوشته اصلی توسط redown
    با سلام خدمت اساتید گرامی
    من AT24C02 رو به راحتی باهاش کار میکنم ولی وقتی این قطعه رو بر میدارم و به جاش AT24C128 یا 64 میذارم دیگه درست کار نمیکنه و تو هر آدرسی مینویسم فقط مقدار 255 رو نشون میده. از کتابخونه i2c.h استفاده میکنم و موقع نوشتن، همه ی دستورات مقدار 1 رو بر میگردونن ولی موقع خوندن فقط مقدار 255 رو نشون میده. کسی میدونه مشکل از کجاست؟
    از سه تا مغازه ی مختلف این قطعه ها رو خریدم هم SMD هم DIP ولی همشون همین مشکلو دارن.
    دیتاشیت خوندی؟
    آدلان پایا متخصص در حوضه ربات های پرنده
    https://adlanpaya.ir/

    دیدگاه


      #3
      پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

      نوشته اصلی توسط avr68
      دیتاشیت خوندی؟
      آره ولی متوجه تفاوت خاصی از نظر کارکرد نشدم بین ظرفیت های مختلفش. نکته ی خاصی هست؟

      دیدگاه


        #4
        پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

        نوشته اصلی توسط redown
        آره ولی متوجه تفاوت خاصی از نظر کارکرد نشدم بین ظرفیت های مختلفش. نکته ی خاصی هست؟
        پس یا مشکل از هدر برنامه است یا نکته ای است که نخوندی من اطلات زیادی در این باره ندارم
        آدلان پایا متخصص در حوضه ربات های پرنده
        https://adlanpaya.ir/

        دیدگاه


          #5
          پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

          برنامه که مشکل نداره. چون من روی برد بورد هم امتحان کردم 128 رو که درست کار نمیکرد برداشتم و به جاش 02 گذاشتم کار کرد.
          از دوستان و اساتید با تجربه کسی میدونه مشکل کار کجاست؟

          دیدگاه


            #6
            پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

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

            دیدگاه


              #7
              پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

              نوشته اصلی توسط شاهرخ مستقیمی
              خودم تجربه ش رو ندارم، اما یه بار یکی از دوستام به همین مورد برخورده بود، فکر کنم،بعد آدرس دادن باید دوباره از دستورات استارتI2C استفاده کنین.البته خیلی مطمئن نیستم.دیتاشیت رو با دقت بخونین.
              آره باید استفاده کنیم البته فقط موقع خوندن. منم استفاده کردم ولی نمیشه البته با 2 کیلوبیتیش کار میکنه ولی با 128 کیلوبیتی یا 64 جواب نمیده:
              unsigned char eeprom_read(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();
              delay_ms(5);
              return data;
              }
              /////////////////////////////////////////////////////////////////////////////////////////////////
              void eeprom_write(char address , char data){
              i2c_start();
              i2c_write(EEPROM_BUS_ADDRESS);
              i2c_write(address);
              i2c_write(data);
              i2c_stop();
              delay_ms(5);
              }
              البته قبلش:
              #define EEPROM_BUS_ADDRESS 0xA0

              دیدگاه


                #8
                پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                با سلام

                نقل قول از: avr68 در امروز ساعت 1235

                دیتاشیت خوندی؟

                آره ولی متوجه تفاوت خاصی از نظر کارکرد نشدم بین ظرفیت های مختلفش. نکته ی خاصی هست؟
                :eek: oo:



                شما نمی تونید با EEPROM های ظرفیت مختلف مثل هم رفتار کنید :surprised:(با بیشترشون) چون نحوه آدرس دهی اون ها با هم فرق می کنه و حتما باید دیتاشیتشون خونده بشه
                این نحوه آدرس دهی توی 24LC01 تا 24LC16هست


                و این نحوه آدرس دهی 24LC128


                همونطور که میبینی کاملا با هم متفاوت هست :mrgreen:
                پس باید برنامتون رو اصلاح کنید و دیتاشیت هر کدوم رو مطالعه کنید
                موفق باشد
                :bye

                [glow=black,2,300]بردی جالب با سیستم عاملی جالب !!![/glow]

                دیدگاه


                  #9
                  پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                  نوشته اصلی توسط abbasmh
                  با سلام

                  :eek: oo:



                  شما نمی تونید با EEPROM های ظرفیت مختلف مثل هم رفتار کنید :surprised:(با بیشترشون) چون نحوه آدرس دهی اون ها با هم فرق می کنه و حتما باید دیتاشیتشون خونده بشه
                  این نحوه آدرس دهی توی 24LC01 تا 24LC16هست


                  و این نحوه آدرس دهی 24LC128


                  همونطور که میبینی کاملا با هم متفاوت هست :mrgreen:
                  پس باید برنامتون رو اصلاح کنید و دیتاشیت هر کدوم رو مطالعه کنید
                  موفق باشد
                  :bye
                  اینا رو خونده بودم ولی واسه 128 رو دیتاشیت من اینطوری زده:

                  مطمئنی اینی که زدی واسه 128؟
                  حالا اگر اینجوری هم باشه باز باید کار کنه چون در هر صورت من A2 رو صفر گذاشتم دیگه. به زمین هم وصلش کردم.

                  دیدگاه


                    #10
                    پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                    ایول ایول مشکل حل شد به اون شکلش دقت نکرده بودم. :icon_razz:

                    دیدگاه


                      #11
                      پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                      حالا برای اینکه بحث کامل بشه ممکنه بپرسم منظور از P0, P1 چیه؟

                      دیدگاه


                        #12
                        پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                        فکر کنم منظورش از P0 وP1و... صفحه باشه.(Page)

                        دیدگاه


                          #13
                          پاسخ : مشکل با eeprom خارجی با ظرفیت بالا

                          نوشته اصلی توسط شاهرخ مستقیمی
                          فکر کنم منظورش از P0 وP1و... صفحه باشه.(Page)
                          آره درسته.
                          از همه دوستان ممنونم.

                          دیدگاه

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