اطلاعیه

Collapse
No announcement yet.

AT24c256

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

    AT24c256

    سلام کسی در رابطه با EEPROM های AT24c256 اطلاعاتی داره کمکم کنه
    در مورد نحوه برنامه نویسیش کمک می خوام...
    تو قسمت نوشتن و خواندن از روی حافظه ممنون
    *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
    http://electerodl.ir/forum

    #2
    پاسخ : AT24c256

    سلام
    با کتابخونه i2c میتونی اطلاعات رو روش بنویسی و بخونی
    توی کتاب "میکروکنترلر های AVR" آقای جابر الوندی یه مثال ازش داره.
    فقط حواست باشه که AT24C512 دارای 2 بایت آدرس هست.
    http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

    دیدگاه


      #3
      پاسخ : AT24c256

      نوشته اصلی توسط سامان تقی پور
      سلام
      با کتابخونه i2c میتونی اطلاعات رو روش بنویسی و بخونی
      توی کتاب "میکروکنترلر های AVR" آقای جابر الوندی یه مثال ازش داره.
      فقط حواست باشه که AT24C512 دارای 2 بایت آدرس هست.
      این کتاب به زبان C نوشته ولی من بزبان بیسیک با میکروی مگا16 می خوام
      *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
      http://electerodl.ir/forum

      دیدگاه


        #4
        پاسخ : AT24c256

        کسی نیس برنامه نویسیشو بلد باشه اعلام آمادگی کنه
        *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
        http://electerodl.ir/forum

        دیدگاه


          #5
          پاسخ : AT24c256

          توضیحات کامل و خوبی در دیتا شیت وجود دارد که بهتر است آنها را مطالعه کنید و طبق آن پیش بروید. هر چقدر هم سایرین برای شما توضیح بدهند؛ توضیحات دیتا شیت باز هم کامل تر خواهد بود.

          برای اینگونه قطعات هم که کاربرد زیادی در مدارات دارد؛ به اندازه کافی مطلب و حتی نمونه سورس کد نیز به زبان های مختلف و برای میکروهای گوناگون نوشته شده است. که دیگر نیازی به سئوال پرسیدن در انجمن نباشد. کافی بود در گوگل عبارت 24C256 bascom را سرچ میکردید. تا با نمونه کدهای زیر آشنا می شدید :
          http://www.grote.net/bascom/msg24215.html
          http://rn-wissen.de/wiki/index.php?title=Bascom_und_I2C_EEprom
          http://www.mikrocontroller.net/topic/35698#262819

          و یا اینکه در Help بسکام جستجو می کردید؛ تا به توصیه بسکام جهت استفاده از کتابخانه "fm24c64_256.lib" را عمل میکردید.
          و شما از 30 مرداد تا 1 شهریور بیش از 30 ساعت زمان از دست نمیداید. در حالیکه روش های فوق 3 دقیقه هم زمان نمی برد.

          نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

          دیدگاه


            #6
            پاسخ : پاسخ : AT24c256

            نوشته اصلی توسط lachini
            توضیحات کامل و خوبی در دیتا شیت وجود دارد که بهتر است آنها را مطالعه کنید و طبق آن پیش بروید. هر چقدر هم سایرین برای شما توضیح بدهند؛ توضیحات دیتا شیت باز هم کامل تر خواهد بود.

            برای اینگونه قطعات هم که کاربرد زیادی در مدارات دارد؛ به اندازه کافی مطلب و حتی نمونه سورس کد نیز به زبان های مختلف و برای میکروهای گوناگون نوشته شده است. که دیگر نیازی به سئوال پرسیدن در انجمن نباشد. کافی بود در گوگل عبارت 24C256 bascom را سرچ میکردید. تا با نمونه کدهای زیر آشنا می شدید :
            http://www.grote.net/bascom/msg24215.html
            http://rn-wissen.de/wiki/index.php?title=Bascom_und_I2C_EEprom
            http://www.mikrocontroller.net/topic/35698#262819

            و یا اینکه در Help بسکام جستجو می کردید؛ تا به توصیه بسکام جهت استفاده از کتابخانه "fm24c64_256.lib" را عمل میکردید.
            و شما از 30 مرداد تا 1 شهریور بیش از 30 ساعت زمان از دست نمیداید. در حالیکه روش های فوق 3 دقیقه هم زمان نمی برد.
            lممنون از کمکتون
            من کد آماده دارم می خوام که کسی تو تحلیل کد ها کمکم کنه!!!!
            *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
            http://electerodl.ir/forum

            دیدگاه


              #7
              پاسخ : AT24c256

              من یه هفته ای میشه کار باهاشون رو شروع کردم
              راه انداریش خیلی سادست ، کافیه از همون توابعی که خود کدویژن تو مثال هاش گفته استفاده کنی
              البته خوندن و نوشتن بصورت بایتی منظورم هست ، اگه دیتا زیاد باشه دیگه بایتی جواب نمیده و باید از روش صفحه ای استفاده کنی
              به این صورت که میای 128 بایت رو بصورت تقریبا یکجا مینویسی ، که البته من نتونستم با این روش کار بکنم...
              اگه خواستی تو روش بایتی میتونم کمکت کنم ، که البته میدونم راحت میتونی جواب بگیری
              از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

              دیدگاه


                #8
                پاسخ : AT24c256

                نوشته اصلی توسط Eh San
                من یه هفته ای میشه کار باهاشون رو شروع کردم
                راه انداریش خیلی سادست ، کافیه از همون توابعی که خود کدویژن تو مثال هاش گفته استفاده کنی
                البته خوندن و نوشتن بصورت بایتی منظورم هست ، اگه دیتا زیاد باشه دیگه بایتی جواب نمیده و باید از روش صفحه ای استفاده کنی
                به این صورت که میای 128 بایت رو بصورت تقریبا یکجا مینویسی ، که البته من نتونستم با این روش کار بکنم...
                اگه خواستی تو روش بایتی میتونم کمکت کنم ، که البته میدونم راحت میتونی جواب بگیری
                سلام
                ممنون از کمکت
                من بزبان بیسیک می خوام
                و من فقط می خوام یه مقدار فاصله ای رو که با سنسور فاصله سنج گرفتم رو درون حافظه بریزم...
                اگه می تونین کمکم کنین که ممنون میشم...
                *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
                http://electerodl.ir/forum

                دیدگاه


                  #9
                  پاسخ : AT24c256

                  سلام دوستان. من میخوام اطلاعات رو 20بایت 20 بایت بریزم توی AT24C256 و 20 بایت 20 بایت بخونم ازش
                  مثلا این اطلاعات رو: 41251201-16451-15212 که string هست.
                  http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                  دیدگاه


                    #10
                    پاسخ : AT24c256

                    وقت بخیر

                    سعی کنید طول ذخیره رو مضربی از 2 بگیرید !! مثلا 8 و 16 و 32 !! چون page دخیره eeprom اینگونه است !و یرای نوشتن یک فانکشن بگدارید تا اول آدرس سخت افزاری و بعد آدرس حاقظه و بعد اطلاعات را بدهد بهد از ارسال stop حافظه eeprom بمدت 10 ms زمان میخواهد تا دخیره کند.

                    دیدگاه


                      #11
                      پاسخ : AT24c256

                      نوشته اصلی توسط ehsan2774
                      سلام
                      ممنون از کمکت
                      من بزبان بیسیک می خوام
                      و من فقط می خوام یه مقدار فاصله ای رو که با سنسور فاصله سنج گرفتم رو درون حافظه بریزم...
                      اگه می تونین کمکم کنین که ممنون میشم...
                      کسی نیست کمک کنه؟؟؟ عایا؟؟؟؟؟
                      *****عيب جامعه اين است که همه مي خواند آدم مهمي باشند ولي هيچ کس نمي خواهد فرد مفيدي باشد.*****
                      http://electerodl.ir/forum

                      دیدگاه


                        #12
                        پاسخ : AT24c256

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

                        [code=c]// write string to the eeprom
                        void eeprom_write_string(void)
                        {
                        sprintf(str,"%02d%02d%02d,%03d,%03d",hou r,minute,second,P,T);
                        k=0;
                        for(i=j*15;i<=j*15+14;i++)
                        {
                        eeprom_write(i,str[k]);
                        k++;
                        }
                        mem=i;
                        printf("Sample%d:%s\r\n",j+1,str);
                        j++;
                        }

                        // read string from the eeprom
                        void eeprom_read_string(void)
                        {
                        for(k=0;k<mem/15;k++)
                        {
                        for(i=k*15;i<k*15+14;i++)
                        {
                        str[m]=eeprom_read(i);
                        m++;
                        }
                        m=0;
                        printf("Sample%d:%s\r\n",k+1,str);
                        }
                        }[/code]
                        از سختی نترس! این سختی هاست که جایگاه و مقام انسان را بالا میبرد...

                        دیدگاه


                          #13
                          پاسخ : AT24c256

                          من یه برنامه برای نوشتن توی AT24C512 نوشتم. میخوام یه string که اینجوریه: "12.345" رو توش بریزم. ولی مثلا به جای 1، مقدار 49 رو مینویسه . به جای 2، عدد 50 رو مینویسه و ....
                          چه باید کرد؟؟ :sad:
                          اینجوری تعریفش کردم:
                          [code=c]
                          unsigned char send_data[]="12.345"
                          [/code]
                          http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                          دیدگاه


                            #14
                            پاسخ : AT24c256

                            نوشته اصلی توسط سامان تقی پور
                            من یه برنامه برای نوشتن توی AT24C512 نوشتم. میخوام یه string که اینجوریه: "12.345" رو توش بریزم. ولی مثلا به جای 1، مقدار 49 رو مینویسه . به جای 2، عدد 50 رو مینویسه و ....
                            چه باید کرد؟؟ :sad:
                            اینجوری تعریفش کردم:
                            [code=c]
                            unsigned char send_data[]="12.345"
                            [/code]
                            خب درسته دیگه.
                            شما داری با کدهای اسکی یا کارکتر کار می کنی وقتی که می خونی داری دسیمال می خونی. عدد دسیمال (دهدهی) معادل کارکتر '1' برابر با 49 هستش و همینطور بقیه.
                            ---------
                            .
                            .
                            ...........

                            دیدگاه


                              #15
                              پاسخ : AT24c256

                              نوشته اصلی توسط ajapyy
                              خب درسته دیگه.
                              شما داری با کدهای اسکی یا کارکتر کار می کنی وقتی که می خونی داری هگز می خونی. عدد هگز معادل کارکتر '1' برابر با 49 هستش و همینطور بقیه.
                              ممنون :rolleyes:
                              http://www.eca.ir/forum2/index.php?topic=108455.msg777842#msg777842

                              دیدگاه

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