اطلاعیه

Collapse
No announcement yet.

مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

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

    مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

    در ابتدا عذر میخوام که سوالمو در قالب عکس منتشر کردم از وقتی پست رو ویرایش کردم فاصله های اینتر رو ویرایشگر بعد از ذخیره در سایت حذف میکنه!
    جدیدترین ویرایش توسط mehran901; ۱۴:۵۳ ۱۳۹۶/۰۷/۰۸.
    اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

    #2
    پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

    سلام
    مطمئن هستید دیتا به صورت کامل در حافظه ذخیره میشه؟ تست کردید؟
    *** يا راهي خواهم يافت، يا راهي خواهم ساخت ... ***

    دیدگاه


      #3
      پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

      سلام جناب مهندس بله تصویر زیر رو ملاحظه کنید توجه کنید که من بایت چهارم چون صفر هست دیگه نشون ندادم حتی برای اینکه گفتم شاید در پروسه نمایش مشکلی باشه که نمیشه !! با این حال با یک شرط هم با مقدار عددی داخل برنامه مقایسه کردم که دیدم نه واقعا بایت های پر ارزش مقدار نگرفتن در اینجا من مقدار دسیمال 450.000 یا به عبارتی 0006DDD0 رو در متغییر unsigned long ذخیره کردم
      جدیدترین ویرایش توسط mehran901; ۱۴:۳۶ ۱۳۹۶/۰۷/۰۸.
      اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

      دیدگاه


        #4
        پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

        با تست الگو کد فوق روی ویندوز متوجه شدم کد روی ویندوز درست کار میکنه و قطعا مسئله و نکته ای در رابطه با استفاده از شیت در متغییر های 32 بیتی در اتمل استادیو هست که نمیدونیم

        در تصویر زیر با همین الگوریتم بایت 3 و 4 در متغییر 32 بیتی روی ویندوز شیفت اعمال میشه

        اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

        دیدگاه


          #5
          پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

          مشکل با اضافه کردن دو هدر برد حل شد مشکل جالب دیگه ای جایگزین شد


          من عدد 2 به توان 32 که FFFFFFFF رو بخوام روی ال سی دی نمایش بدم عدد 9FFF7 رو نمایش میده بزرگترش رو نمایش نمیده روش استفاده من همیشه تا متغییر های 16 بیتی به این شکل بوده دوستان راه حلی برای این مشکل دارند ؟


          char a[30];
          sprintf(a,"%ul",a2);
          glcd_putls(a,0,0,0,1,0);

          سپاس
          اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

          دیدگاه


            #6
            پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

            موردی که من قبلاً بهش برخوردم اینه که سایز متغیر هایی که در برنامه تعریف میشه، بسته به نوع کامپایلر و پردازنده، ممکنه دارای محدوده های متفاوتی باشه. ینی ممکنه unsigned long در 2 کامپایلر مختلف دارای سایز های مختلف باشه. اگر این مورد وجود داشته باشه، میتونه باعث این مشکلات بشه. شاید دلیل اینکه این برنامه در ویندوز به درستی کار میکنه همین موضوع باشه.
            *** يا راهي خواهم يافت، يا راهي خواهم ساخت ... ***

            دیدگاه


              #7
              پاسخ : مشکل در ذخیره سازی اطلاعات بزرگتر از یک بایت در eeprom

              نوشته اصلی توسط K1.IEEE نمایش پست ها
              موردی که من قبلاً بهش برخوردم اینه که سایز متغیر هایی که در برنامه تعریف میشه، بسته به نوع کامپایلر و پردازنده، ممکنه دارای محدوده های متفاوتی باشه. ینی ممکنه unsigned long در 2 کامپایلر مختلف دارای سایز های مختلف باشه. اگر این مورد وجود داشته باشه، میتونه باعث این مشکلات بشه. شاید دلیل اینکه این برنامه در ویندوز به درستی کار میکنه همین موضوع باشه.
              سلام ممنونم مورد فوق رو قبلش با دستور sizeof چک کرده بودم و از 4 بایتی بودنش اطمینان داشتم ... همکنون مشکل حل شده و سپاسگزارم
              اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است

              دیدگاه

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