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

موضوع: فضای مورد نیاز برای تعریف تعدادی آرایه

  1. #1
    عضو جدید
    تاریخ عضویت
    Mar 2014
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض فضای مورد نیاز برای تعریف تعدادی آرایه

    سلام دوستان
    من قصد دارم تعدادی آرایه بلند رو در حافظه 256at91sam7x جا بدم. فرض کنید آرایه های به صورت زیر هستند:
    [65536]a
    [65536]b
    [65536]c
    [65536]d
    آیا میتونم این کارو بکنم؟ آیا حافظه داخلی میکرو چنین فضایی داره؟ (فرض کنید مقداری فضا هم برای کد میخواهم)

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

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

    پیش فرض

    سلام مهندس
    این میکرو 256 کیلوبایت فلش داره.
    3 تاشو میتونی یعنی a و b و c رو میتونی که جمعا" میشه 64KB + 64KB + 64KB) 192KB ) البته به شرط اینکه دیتایی که میخوای ذخیره کنی از نوع 8 بیتی یا char باشه
    حالا چی میخوای ذخیره کنی؟
    واسه ذخیره سازی عکس و نمایش رو السیدی که نیست؟
    _____________________________________
    _____________________________________

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


  5. #3
    عضو جدید
    تاریخ عضویت
    Mar 2014
    نوشته ها
    6
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    سلام
    خیلی ممنون از جوابتون
    بله! فصد دارم یک عکس رو ذخیره کنم.
    در واقع هدف من اینه که تعدادی فیلتر دیجیتال رو روی عکس پیاده کنم (اگر آشنا هستید: کارهایی مثل پیاده کردن ماسک سوبل ، بدست آوردن نقشه جهتی تصویر و ...)
    به هر حال فکر میکنم ناچارم حداکثر از سه آرایه استفاده کنم
    به هر حال ممنون

  6. #4
    کاربر علاقه مند powerelectro آواتار ها
    تاریخ عضویت
    Mar 2014
    نوشته ها
    53
    تشکر
    39
    تشکر شده 18 بار در 7 پست

    پیش فرض

    3 تاشو میتونی یعنی a و b و c رو میتونی که جمعا" میشه 64KB + 64KB + 64KB) 192KB ) البته به شرط اینکه دیتایی که میخوای ذخیره کنی از نوع 8 بیتی یا char باشه
    سلام منم همین مشکل ررو دارم چطوری محاسبه کردین که هر آرایه اش 64k میشه ؟؟؟؟؟؟؟


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

    پیش فرض

    نقل قول نوشته اصلی توسط powerelectro نمایش پست ها
    3 تاشو میتونی یعنی a و b و c رو میتونی که جمعا" میشه 64KB + 64KB + 64KB) 192KB ) البته به شرط اینکه دیتایی که میخوای ذخیره کنی از نوع 8 بیتی یا char باشه
    سلام منم همین مشکل ررو دارم چطوری محاسبه کردین که هر آرایه اش 64k میشه ؟؟؟؟؟؟؟

    سلام مهندس
    خوب سادس:
    65536 معادل مقدار فضای ذخیره سازی بر حسب بایت برای متغیر a هست(در صورتی که از نوع 8 بیتی تعریف شده باشه)
    65536Byte/1024=64KB
    ویرایش توسط sadmonew : 13-05-2014 در ساعت 00:52
    _____________________________________
    _____________________________________

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


  9. #6
    کاربر علاقه مند powerelectro آواتار ها
    تاریخ عضویت
    Mar 2014
    نوشته ها
    53
    تشکر
    39
    تشکر شده 18 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام مهندس
    خوب سادس:
    65536 معادل مقدار فضای ذخیره سازی بر حسب بایت برای متغیر a هست(در صورتی که از نوع 8 بیتی تعریف شده باشه)
    65536Byte/1024=64KB
    خب دوست عزیز ممون که جواب دادی :
    برنامه من یه حلقه for داره که باید یه مقدار خاص تکرار بشه مثلا 100 بار و نتایج را در ی آ رایه ذخیره کنه ، اما وقتی که تعداد تکرارش رو برگتر یا مساوی 10 میذارم برنامه کامپایل میشه ولی یه خطا داره که نمیذاره اجراش کنه واسه من تا بیشتر از 9 تا عمل نمی کنه علت چیه ؟؟ الان ارورشو میذارم برات....
    خیلی ممنون میشم اگه جواب بدی
    اینم آرایه هایی که قراره اطلاات ذخیره بشه :
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: error.PNG
مشاهده: 30
حجم: 2.3 کیلو بایت   برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: error2.PNG
مشاهده: 31
حجم: 1.2 کیلو بایت  

  10. #7
    کاربر علاقه مند
    تاریخ عضویت
    Jun 2007
    نوشته ها
    62
    تشکر
    41
    تشکر شده 9 بار در 7 پست

    پیش فرض

    سلام دوستان
    مگه متغییر های حافظه در sram ذخیره نمیشن . مثلا اگه من بخوام 100 ارایه از نوع string*8 تعریف کنم میکرو از حافظه sram استفاده نمی کنه .
    با تشکر

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

    پیش فرض

    نقل قول نوشته اصلی توسط powerelectro نمایش پست ها
    خب دوست عزیز ممون که جواب دادی :
    برنامه من یه حلقه for داره که باید یه مقدار خاص تکرار بشه مثلا 100 بار و نتایج را در ی آ رایه ذخیره کنه ، اما وقتی که تعداد تکرارش رو برگتر یا مساوی 10 میذارم برنامه کامپایل میشه ولی یه خطا داره که نمیذاره اجراش کنه واسه من تا بیشتر از 9 تا عمل نمی کنه علت چیه ؟؟ الان ارورشو میذارم برات....
    خیلی ممنون میشم اگه جواب بدی
    اینم آرایه هایی که قراره اطلاات ذخیره بشه :
    سلام
    دوست عزيز حداقل اون قسمت از برنامه كه حلقه for داره رو بذار
    تا زماني كه برنامه رو نبينم كه نميتونم نظر بدم كه كجاي برنامه مشكل داره و بايد تصحيح بشه!
    _____________________________________
    _____________________________________

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


  13. #9
    مدیر باز نشسته behnam6500 آواتار ها
    تاریخ عضویت
    Jan 2009
    نوشته ها
    801
    تشکر
    311
    تشکر شده 899 بار در 390 پست

    پیش فرض

    اگر آرایه های 64 کیلوبایتی مقادیر ثابت دارند (از پیش تعیین شده) توی فلش میکرو ذخیره کنید و موقع نیاز اونها رو بخونید...

    همچنین از توابع تخصیص حافظه داینامیک استفاده کنید اینطوری هر وقت لازم شد میتونید 64کیلو یا 192 کیلو از حافظه رو بگیری، کارت رو باهاش انجام بدی و دوباره حافظه رو ازاد کنی!

  14. کاربران : 4 تشکر کرده اند از شما behnam6500 برای ارسال این پست سودمند:


  15. #10
    کاربر علاقه مند powerelectro آواتار ها
    تاریخ عضویت
    Mar 2014
    نوشته ها
    53
    تشکر
    39
    تشکر شده 18 بار در 7 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    سلام
    دوست عزيز حداقل اون قسمت از برنامه كه حلقه for داره رو بذار
    تا زماني كه برنامه رو نبينم كه نميتونم نظر بدم كه كجاي برنامه مشكل داره و بايد تصحيح بشه!
    سلام
    اینم کل برنامه
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: rar abcd.rar (144.2 کیلو بایت, 32 نمايش)

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

    پیش فرض

    سلام مهندس
    نحوه ذخيره سازي ديتا تو متغيرهايي از نوع آرايه به اين صورته كه:
    مثلا" شما متغيري به اين صورت تعريف كردي:
    کد:
    unsigned char v1[15];
    char counter = 0;
    
    
    for(counter = 0 ; counter < 15;counter ++)
    {
        v1[counter ] = 0; 
    }
    مكان ذخيره سازي اولين ديتا تو آرايه از صفر شروع ميشه و آخرين مكان ذخيره سازي ديتا دقيقا يك واحد كمتر از اون مقدار هست كه به عنوان طول آرايه تعريف كردين.
    در صورتي كه تو قسمت هايي از برنامه شما، اين نكته رعايت نشده.
    _____________________________________
    _____________________________________

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


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

  1. مشکل در تعریف ماکرو
    توسط hamedb3269 در انجمن AVR
    پاسخ: 2
    آخرين نوشته: 23-10-2013, 13:39
  2. کمبود تعداد پایه‏های میکرو!
    توسط sobhan537 در انجمن AVR
    پاسخ: 27
    آخرين نوشته: 13-09-2013, 12:03
  3. تبدیل تعداد و شکل پالس
    توسط TABRIZMACHINE در انجمن الکترونیک
    پاسخ: 9
    آخرين نوشته: 02-09-2013, 04:42
  4. تعداد عمده قطعات
    توسط nima_elc در انجمن الکترونیک
    پاسخ: 4
    آخرين نوشته: 24-05-2013, 17:29
  5. تعطیلات و تشکیل گروههای همکار
    توسط kavir در انجمن گفت و گوي آزاد
    پاسخ: 2
    آخرين نوشته: 01-03-2009, 21:28

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

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