اطلاعیه

Collapse
No announcement yet.

eeprom در کدویژن

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

    eeprom در کدویژن

    سلام خدمت دوستان
    من تازه برنامه نویسی با c رو شروع کردم و قبلا basic کار میکردم
    حالا به مشکل برخوردم :angry:
    من میخوام 10 بایت رو داخل eeprom ذخیره کنم و موقعی که خواستم باز خوانی کنم
    از چه دستوری برای نوشتن و از چه دستوری برای خواندن استفاده کنم
    درضمن چطور میشه آدرس eeprom را مشخص کرد که داخل کدوم آدرس بنویسم و بخوانم
    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

    #2
    پاسخ : eeprom در کدویژن

    برای نوشتن در eeprom دستور خاصی لازم نیست فقط کافیه در ابتدای برنامه متغییرتو با این دستور در eeprom ذخیره کنی بعد هر موقع که خواستی اطلاعاتتو ذخیره کنی اطلاعاتتو بریز تو متغییر و هر موقع خواستی اطلاعاتتو بخونی اونو از تو متغییر بخون
    eeprom char data;

    دیدگاه


      #3
      پاسخ : eeprom در کدویژن

      سلام خدمت دوست عزیز
      خیلی ممنون از پاسختون :-bd

      یعنی اگر متغیری اینطوری تعریف کنم
      eeprom char dta[10]
      و بایت ها رو بریزم توی این متغیر و با بازخوانی مثلا dta[5] میتونم بدون اینکه آدرس حافظه بدم اونو بازخونی کنم ؟
      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


        #4
        پاسخ : eeprom در کدویژن

        سلام دوست عزیز
        بله میتونید بدون هیچ عمل خاصی از این نوع متغییر استفاده کنید ...
        کلا مشکلاتی که در بسکام پیش میاد و نمیشه براحتی از eram استفاده کرد در کدویژن پیش نمیاد و انگار که متغییر eeprom و غیر eeprom فرقی نداره ...
        Share OR Die

        دیدگاه


          #5
          پاسخ : eeprom در کدویژن

          نوشته اصلی توسط Mahdi.N
          سلام دوست عزیز
          بله میتونید بدون هیچ عمل خاصی از این نوع متغییر استفاده کنید ...
          کلا مشکلاتی که در بسکام پیش میاد و نمیشه براحتی از eram استفاده کرد در کدویژن پیش نمیاد و انگار که متغییر eeprom و غیر eeprom فرقی نداره ...
          بله حق باشماس
          این بیسیک آدمو میکشه تا یه برنامه ی درست و حسابی دراد (که اصلا هم در نمیاد :mrgreen :angry: :angry:
          یه روز میخواستم بیام یه متغییر بزارم تو eeprom(تو بسکام) منو کشت !!! هزار جور ارور و مسج و وورنینگ داد!!! بعد که ارورهارو درست کردم (خودمو کشتم :mrgreen
          تا برنامه رو ریخم تو میکروم .... :eek:میکرو خودش و eepromش کتلت شد :surprised:!!!! :eek: :eek: :angry: :angry:
          ده هزار تومن پرید :angry: :angry: :angry:
          تسلیت میگم :cry2:
          میکروی بیچاره :cry2:
          اما وقتی که رفتم تو دنیای C این اتفاقا اصلا نیفتاد :eek: :wow:
          c عالیه!!!
          1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
          من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
          !Electronic On! Programming On
          هوشمندانه سوال بپرسیم!
          http://ir02x6.persiangig.com/logo/eca/tanks_01.png

          دیدگاه


            #6
            پاسخ : eeprom در کدویژن

            نوشته اصلی توسط mahan.rafiee
            بله حق باشماس
            این بیسیک آدمو میکشه تا یه برنامه ی درست و حسابی دراد (که اصلا هم در نمیاد :mrgreen :angry: :angry:
            یه روز میخواستم بیام یه متغییر بزارم تو eeprom(تو بسکام) منو کشت !!! هزار جور ارور و مسج و وورنینگ داد!!! بعد که ارورهارو درست کردم (خودمو کشتم :mrgreen
            تا برنامه رو ریخم تو میکروم .... :eek:میکرو خودش و eepromش کتلت شد :surprised:!!!! :eek: :eek: :angry: :angry:
            ده هزار تومن پرید :angry: :angry: :angry:
            تسلیت میگم :cry2:
            میکروی بیچاره :cry2:
            اما وقتی که رفتم تو دنیای C این اتفاقا اصلا نیفتاد :eek: :wow:
            c عالیه!!!
            البته اینجور تعریف متغیر مثل :
            کد:
            flash char a;
            eeprom char a
            اینا مربوط به زبان C نیستش و جزو کلمات کلییدی کامپایلر کدویژن هستش...به طور مثال در اتمل استودیو نمیتونید اینطوری دیتاآبجکت فلش یا متغیر E2PROM تعریف کنید...اصلا کلماتی مثل flash و eeprom که در کردویژن شناخته شدن هستند مربوط به کامپایلر بوده و به زبان C ارتباطی نداره...
            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

            www.intelart.ir


            ساخت کنترلر دما PID فازي با AVR [آموزشی]

            دیدگاه


              #7
              پاسخ : eeprom در کدویژن

              سلام
              من یک متغیر از نوع int در eeprom تعریف کردم که در حین اجرا با دو کلید بالا و پایین این متغییر از 0 تا 400 تغییر میکنه با توجه به اینکه در حافظه eeprom بیشتر از 100000 بار نمیتوان عمل خواندن و نوشتن رو انجام داد متغیر من ممکنه در روز 1000 بار تغییر کنه چه راه حلی برای ذخیره کردن متغیر من وجود داره که با قطع برق از بین نره. با تشکر

              دیدگاه


                #8
                پاسخ : eeprom در کدویژن

                نوشته اصلی توسط SA.Mehran نمایش پست ها
                سلام
                من یک متغیر از نوع int در eeprom تعریف کردم که در حین اجرا با دو کلید بالا و پایین این متغییر از 0 تا 400 تغییر میکنه با توجه به اینکه در حافظه eeprom بیشتر از 100000 بار نمیتوان عمل خواندن و نوشتن رو انجام داد متغیر من ممکنه در روز 1000 بار تغییر کنه چه راه حلی برای ذخیره کردن متغیر من وجود داره که با قطع برق از بین نره. با تشکر
                سلام،
                این یه مشکل عمومی است،
                شما باید حتما تعداد دفعات نوشتن در EEPROM را محدود کنید!
                استفاده از سیستم backup گیری قبل از خاموش شدن (نیاز به منبع انرژی پرتابل محدود) میتونه مفید باشه!
                از سایر حافظه های موجود در سیستم مثل فلش هم میشه استفاده کرد!
                ... .
                و در آخر اینکه اگر بقیه EEPROM بلا استفاده است، کل آن (یا بخش بلا استفاده آن را) به عنوان یک آرایه تعریف کن و برای خواندن از خانه N بخوان و برای نوشتن، در خانه N+1 بنویس!
                از آنجایی که خانه خالی حافظه EEPROM دارای مقدار 0xFF است، با مارک کردن این مقدار، نیاز به ذخیره خود N وجود ندارد،
                و N همواره آخرین مقدار قبل از اولین مارک است!
                و رعایت دوتا شرط دیگه، اینکه:
                1- ماکزیمم مقدار قابل ذخیره در متغییرت رو کمتر از 0xFF در نظر بگیری!
                2- هر وقت N به انتهای آرایه رسید، کل EEPROM رو پاک کنی و N رو صفر قرار بدی!
                ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                دیدگاه


                  #9
                  پاسخ : eeprom در کدویژن

                  سلام خدمت اساتید و دوستان محترم
                  من تازه برنامه نویسی زبان c رو شروع کردم میخوام یک متغییر رو در حافظه eeprom ذخیره کنم تا در زمان قطع برق مقدار اون از بین نره و دوباره بعد از وصل شدن برق رو ی lcd نمایش بده هر چی مطلب در مورد eeprom خوندم بیشتر گیج شدم دوستان و اساتید محترم لطفا در مورد استفاده از این حافظه به من کمک کنید اگه یه نمونه برنامه هم بتونین بذارین در این مورد ممنون میشم

                  دیدگاه

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