اطلاعیه

Collapse
No announcement yet.

ذخیره وتنظیم یک متغیر

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

    ذخیره وتنظیم یک متغیر

    سلام خدمت اساتید بزرگ
    من در یک پروژه می خواهم یک متغیرxتعریف کنم و یک مقداری اولیه به آن بدم مثلا20 حالا با یک ورودی اون را کم و با یه ورودی دیگه آن را زیاد کنم و روی هرمقداری که تنظیم شد مثلا30 این مقدار در یک جایی ذخیره بشه یایه جوری بشه که اگه میکرو خاموش شد یا ریست تعقیر نکنه یا مثلا برق رفت آیا با باطری کارم حل میشه اگه شد تعداد متغیر هام 3 تا هستند آیا میشه یک کلید هم برای یرگرداندن متغیر ها به حالت اولیه بزارم

    #2
    پاسخ : ذخیره وتنظیم یک متغیر

    راستی برنامم کدویژنه با تشکر از همه

    دیدگاه


      #3
      پاسخ : ذخیره وتنظیم یک متغیر

      سلام
      شما باید متغیر رو توی فلش یا EEPROM ذخیره کنید.
      flash char var این دستور متغیر var رو از نوع char توی فلش اسجاد میکنه
      eeprom char beta این دستور هم beta رو از نوع char تو حافظه eeprom
      ذخیره میکنه اینها با قطع شدن برق مقدارشون حفظ میشه

      دیدگاه


        #4
        پاسخ : ذخیره وتنظیم یک متغیر

        منم دفعه اول بلد نبودم تو Help خودِ نرم افزار گشتم توضیحات کامل هست.
        شما باید تعریفِ متغیرتون رو با یه کلمه اضافی شروع کنید:
        کد:
        eeprom unsigned char x
        موقعِ تعریف به این متغیر مقدار ندید.
        تا اینجا، وقتی مقداری به متغیر ندادین (یعنی وقتی که تازه میکرو رو با برنامه جدید پروگرام کردید)، مقدار این متغیر همه ش 1 باینریه. یعنی یه بایتیش میشه 255. توی برنامه می تونید کم و زیادش کنید هر جوری که دلتون خواست.
        میکرو که خاموش بشه، متغیرِ شما آخرین مقدار رو به خودش می گیره.

        بیایید با Google آشتی کنیم!

        دیدگاه


          #5
          پاسخ : ذخیره وتنظیم یک متغیر

          سلام برای انجام این کار معایب ومزایای حافظه فلش و eeprom نسبت به هم چیه؟
          بزرگترین لذت انجام کاریست که میگویند نمیتوانی !!!

          دیدگاه


            #6
            پاسخ : ذخیره وتنظیم یک متغیر

            به طور ساده میگم

            حافظه فلش: حافظه ای که برنامرو روش میرزیم مثال:atmega 16 دارای 16 کیلو بایت حافظه فلشه یعنی تا 16 کیلو بایت حجم یرنامه نوشته شده میتونه باشه با قطع برق پاک نمیشه
            حافظه sram: حافظه ای که مقدار متغیر ها در اون قرار میگیره و با قطع تغزیه مقدار اونه پاک میشه.
            حافظخ eeprom: حافظه ای محدود که به طور مثال در atmega16 این مقدار 512 بایت هست و با قطع برق مغادیر اون پاک نمیشه.
            .The best question deserves a better answer
            =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
            «پناه»می برم «به خدا»
            از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
            محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

            دیدگاه


              #7
              پاسخ : ذخیره وتنظیم یک متغیر

              میکرویی که من استفاده میکنم حافظه فلش زیادی داره در عوض eeprom نداره آیا eeprom مزیتی نسبت به فلش داره که از اون استفاده کنم؟(eepromخارجی)
              بزرگترین لذت انجام کاریست که میگویند نمیتوانی !!!

              دیدگاه


                #8
                پاسخ : ذخیره وتنظیم یک متغیر

                در صورتی که نیاز دارین اطلاعاتی با قطع برق از بین نره میتونین استفاده کنین.
                میتونین از حافظه های sd هم کمک بگیرین.
                .The best question deserves a better answer
                =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
                «پناه»می برم «به خدا»
                از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
                محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

                دیدگاه


                  #9
                  پاسخ : ذخیره وتنظیم یک متغیر

                  نوشته اصلی توسط علی طاعتی
                  میکرویی که من استفاده میکنم حافظه فلش زیادی داره در عوض eeprom نداره آیا eeprom مزیتی نسبت به فلش داره که از اون استفاده کنم؟(eepromخارجی)
                  عزیز دل برادر، فکر می کنم میکروهای AVR بیشترشون حافظه EEPROM برای دیتا دارند. میکروهای ARM خیلی هاشون این حافظه رو ندارند.
                  به هر حال، به طور اختیاری می تونید از حافظه Flash به جای EEPROM برای ذخیره داده ها استفاده کنید. فقط خاطرتون باشه که، تعداد دفعات پاک کردن و نوشتن توی Flash میکروکنترلر معمولاً 10 برابر کمتر از EEPROM هست. مثلاً Flash تا 10000 بار، و EEPROM تا 100000 بار.
                  خوب، حالا چطوری توی برنامه بریم تو حافظه Flash میکروکنترلر بنویسیم؟! همه میکروهای 10 ساله اخیر قابلیت نوشتن توی Flash حین اجرای برنامه رو دارند. Bootloader همینه دیگه. شما باید با دستورات اسمبلی (برای AVR)، و رویه های IAP برای میکروهای ARM این کار رو انجام بدید. مثال های استفاده از Flash به جای EEPROM توی اینترنت فراوون هست. من توی یه سایتِ خیلی خفن به اسم Google اینا رو پیدا کردم:
                  برای AVR:
                  https://www.google.com/#q=using+flas...+eeprom+in+avr
                  برای PIC:
                  https://www.google.com/#q=using+flas...+eeprom+in+pic
                  برای میکروهای LPC:
                  https://www.google.com/#q=using+flas...+eeprom+in+LPC
                  و برای STM32:
                  https://www.google.com/#q=using+flas...eprom+in+stm32
                  بیایید با Google آشتی کنیم!

                  دیدگاه


                    #10
                    پاسخ : ذخیره وتنظیم یک متغیر

                    نوشته اصلی توسط محمد رستمی
                    عزیز دل برادر، فکر می کنم میکروهای AVR بیشترشون حافظه EEPROM برای دیتا دارند. میکروهای ARM خیلی هاشون این حافظه رو ندارند.
                    به هر حال، به طور اختیاری می تونید از حافظه Flash به جای EEPROM برای ذخیره داده ها استفاده کنید. فقط خاطرتون باشه که، تعداد دفعات پاک کردن و نوشتن توی Flash میکروکنترلر معمولاً 10 برابر کمتر از EEPROM هست. مثلاً Flash تا 10000 بار، و EEPROM تا 100000 بار.
                    خوب، حالا چطوری توی برنامه بریم تو حافظه Flash میکروکنترلر بنویسیم؟! همه میکروهای 10 ساله اخیر قابلیت نوشتن توی Flash حین اجرای برنامه رو دارند. Bootloader همینه دیگه. شما باید با دستورات اسمبلی (برای AVR)، و رویه های IAP برای میکروهای ARM این کار رو انجام بدید. مثال های استفاده از Flash به جای EEPROM توی اینترنت فراوون هست. من توی یه سایتِ خیلی خفن به اسم Google اینا رو پیدا کردم:
                    برای AVR:
                    https://www.google.com/#q=using+flas...+eeprom+in+avr
                    برای PIC:
                    https://www.google.com/#q=using+flas...+eeprom+in+pic
                    برای میکروهای LPC:
                    https://www.google.com/#q=using+flas...+eeprom+in+LPC
                    و برای STM32:
                    https://www.google.com/#q=using+flas...eprom+in+stm32
                    چه جالب
                    با این وجود که من خیلی نقطه بین هستم اما دقت نکردم که ARM از نعمت EEPROM بی بهره است
                    خلاصه اینکه با این پستتون خیلی خورد تو ذوقم .... :cry2:
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : ذخیره وتنظیم یک متغیر

                      میکروهای جدیدِ ARM حافظه EEPROM دارن. مثلاً همه سری های Cortex-M4 دارن که من هم با LPC هم با STMش کار کردم.
                      برای سری های قدیم تر، از همون روشِ جالب انگیز که گفتم، توی یه پروژه استفاده کردم جواب داد مثه بنز.
                      بیایید با Google آشتی کنیم!

                      دیدگاه

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