NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3287 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 9 از 9

موضوع: خواندن یک داده از eeprom

  1. #1
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض خواندن یک داده از eeprom

    سلام دوستان
    برای اینکه یک داده از eeprom را به sram انتقال بدهیم و با ان کار کنیم چه دستوری را پیشنهاد میکنید!!
    من از این فرم استفاده کردم ولی جواب نمی دهد
    کد:
    ;eeprom char h[5]
    for(i=0;i>5;i++)
    {
    m[i]=h[i]
    }
    از دوستان دستور خاص دیگری را معرفی کنید یا مشکل این دستور را بیان کنید!
    ممنون
    ویرایش توسط Ma3ood : 02-09-2011 در ساعت 12:52

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    سلام دوستان
    انگاری منظورم را متوجه نشده اید
    از اول توضیح میدهم
    دوستان من میخوام یه داده که در حافظه eeprom تعریف شده را با یه داده از حافظه sram با هم مقایسه کنم و نتیجه از مقایسه استفاده کنم
    و برای این کار از تابع string استفاده کرده ام اما برنامه دارای خطا هستش
    از دوستان اگه یه نمونه مثال لطف کنند ممنون میشوم!

  5. تشکرها از این نوشته :


  6. #3
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    كد رو قرار ميدم و در پست هاي بعدي در موردش توضيح ميدم. كد رو در WinAVR نوشتم. در آخر هم كد كامل رو ضميمه ميكنم.
    [HTML]for(i=0;i<6;i++)
    {

    if (data[i] == EEPROM_read(10+i))
    {
    PORTD = i + 1;
    }
    }[/HTML]
    ویرایش توسط sadmonew : 28-09-2011 در ساعت 17:55

  7. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  8. #4
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    من داده ها را به صورت زير در SRAM ذخيره كردم.
    [HTML]unsigned char data[6] = {63,64,65,66,67,68};[/HTML]
    بعد همين داده ها رو به صورت زير در EEPROM ذخيره كردم:

    [HTML]for(i=0;i<6;i++)
    {
    EEPROM_write(10+i,data[i]);
    }[/HTML]
    تابع EEPROM_write داده ها رو در آدرس هاي 10 و11 و 12 و13 و14و 15 EEPROM ذخيره مي كند.
    در پست قبل تابع EEPROM_read داده ها رو از آدرس هاي 10 و 11 و12 و13و 14و 15 فراخواني ميكنه.

    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________
    ویرایش توسط sadmonew : 28-09-2011 در ساعت 17:55

  9. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  10. #5
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    در مورد كد اصلي اين توضيح رو بايد بدم، زماني كه داده ها از EEPROM فراخواني ميشن با داده هاي موجود در SRAM مقايسه ميشن و اگر مساوي باشند نتيجه به صورت روشن شدن يه LED در PORTD نشون داده ميشه.
    كدي رو كه در اينجا قرار دادم يك نمونه خيلي ساده است با توجه به نيازتون ميتونيد اونو تغيير بديد.
    موفق باشيد.
    ________________________
    برنامه نويسي، الكترونيك(PE)
    ________________________

    كد كامل به زبان C در WinAVR:
    فايل هاي پيوست شده فايل هاي پيوست شده
    ویرایش توسط sadmonew : 08-09-2011 در ساعت 23:57

  11. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  12. #6
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    خیلی ممنون دوست عزیز sadmonew
    ولی من هنوز با نرم افزار winavr کار نکردم اما در اینده از کدویژن میخواهم برم به سوی winvr اما
    حالا اگه از دوستان یه مثال با کدویژن بگذارند ممنون میشوم!!

  13. تشکرها از این نوشته :


  14. #7
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    با سلام
    همين برنامه اي رو كه براتون گذاشتم ميتونيد مستقيما در CodeVision كامپايل كنيد فقط تنها كاري كه بايد انجام بديد اينه كه فايل هاي هدر رو به صورت زير تغيير بديد يعني فايل هاي هدر رو با فايل هاي هدر زير عوض كنيد(اين مثال رو با ATmega16 تست كردم):
    [HTML]#include <mega16.h>
    #include <mega16_bits.h>[/HTML]
    اگه بازم مشكلي بود مطرح كنيد

    ________________________
    http://sadmonew.blogfa.com
    ________________________
    ویرایش توسط sadmonew : 12-09-2011 در ساعت 16:18

  15. کاربران : 2 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  16. #8
    کاربر علاقه مند
    تاریخ عضویت
    Aug 2012
    نوشته ها
    48
    تشکر
    20
    تشکر شده 2 بار در 2 پست

    پیش فرض

    با سلام خدمت اساتید
    یه سوال هم ما داشتیم
    اگه بخاهیم یکم متغیر ذخیره شده در یکی از آدرسهای ایپرام را ویرایش یا یا حذع کنیم از چه دستوری باید استفاده کنیم

  17. #9
    کاربر علاقه مند dmco آواتار ها
    تاریخ عضویت
    Feb 2010
    نام
    محسن م
    نوشته ها
    38
    تشکر
    51
    تشکر شده 2 بار در 2 پست

    پیش فرض

    نقل قول نوشته اصلی توسط Ma3ood نمایش پست ها
    سلام دوستان
    برای اینکه یک داده از eeprom را به sram انتقال بدهیم و با ان کار کنیم چه دستوری را پیشنهاد میکنید!!
    من از این فرم استفاده کردم ولی جواب نمی دهد
    کد:
    ;eeprom char h[5]
    for(i=0;i>5;i++)
    {
    m[i]=h[i]
    }
    از دوستان دستور خاص دیگری را معرفی کنید یا مشکل این دستور را بیان کنید!
    ممنون
    عزیزم باید بنویسی i کوچکتر از پنج نه بزرگتر از پنج

موضوعات مشابه

  1. مقدار دهی اولیه eeprom
    توسط pswin در انجمن AVR
    پاسخ: 3
    آخرين نوشته: 15-07-2013, 15:28
  2. حافظه EEprom
    توسط behnam6500 در انجمن سایر موارد
    پاسخ: 4
    آخرين نوشته: 02-06-2013, 09:38
  3. Eeprom
    توسط safavism در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 04-10-2011, 10:01
  4. پاسخ: 1
    آخرين نوشته: 12-07-2009, 08:26

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •