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

موضوع: سوال در مورد حافظه sram

  1. #1
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    Icon2008 مشکل ریست شدن متوالی میکروAvr

    سلام بر دوستان خوبم در انجمن ایران میکرو.
    سوال:
    آیا ممکنه حافظه SRAMمیکرو پر بشه؟اگر این اتفاق بیفته میکرو چکار میکنه؟آیا ریست میشه؟
    توضیحات بیشتر:فرض بگیرین که یک میکرو در حال دریافت اطلاعات از adc هست و همچنین باید روی این اطلاعات پردازش انجام بده،همزمان هم داره از پورت سریال اطلاعاتی را دریافت میکنه که باید این اطلاعات را هم بررسی کنه و از دل اونها بدرد بخور هاش را جدا کنه. اگه حجم اطلاعاتی که میکرو میگیره و در SRAMاون ذخیره میشه بالاتر از ظرفیت SRAMبره چی میشه؟؟؟
    ویرایش توسط mihman : 21-09-2011 در ساعت 15:30

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

  3. #2
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    فکر نکنم سوالم خیلی پیچیده باشه.از دوستان خواهش میکنم کمک کنن

  4. #3
    مدیر انجمن cmuiran آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    پیمان غلامی
    نوشته ها
    1,071
    تشکر
    407
    تشکر شده 966 بار در 553 پست

    پیش فرض

    سلام
    بستگی به میکرو مصرفی شما دارد و حجم برنامه
    تو این حالت که برای ما پیش اومده بود یک سری از دستورات را اجرا نمیکرد
    ریست کردن میکرو شما اگه avr باشه به خاطر استفاده از adc هست که سرعت رفرش بالا دارد

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


  6. #4
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    نه بستگی به میکرو نداره !
    خیلی ساده !
    اتفاقی که می افته اینه که داده ها روی هم نوشته میشه ، فرض کنید شما 100 بایت برای دریافت از اطلاعات از پورت صریال منظور کردید که مثلا از حافظه 0 تا 100 رو به خودش اختصاص داده ، بعد توی روال برنامه اومدین یه متغییر دیگه تعریف کردید که اونو توی یه حلقه یا جایی دیگه ای استفاده کردید، خود خود کامپایلر به صورت پیشفرض محل ذخیره سازی متغییر دوم رو برابر 101 میگیره، یعنی دقیقا بعد از متغییر اول ، حالا داده فرض میکنیم که داده دریافتی شما 102 تا باشه، تا 100 که خود متغییر برای ذخیره داده هست و متغییر بعدی که در خانه 101 واقع شده نیز مقدار جدیدی به خودش می گیره که همون داده ریافتی هست.
    به صورت خلاصه این که نمیشه اون وقت به مقدار متغییر ها اعتماد کرد، چون ممکنه اوررایت بشن!
    شما از چه کامپایلری استفاده میکنید؟

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


  8. #5
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    تشکر از همه.من از کدویژن استفاده میکنم.میکرو هم atmega32 هست.
    برنامه باید 45کاراکتر را از پورت سریال بگیره و از دل اونها اطلاعات را بیرون بکشه.
    من توی برنامه از یه آرایه استفاده کردم که کاراکتر های دریافتی از پورت سریال ابتدا درون این آرایه ذخیره میشه .آیا میشه اطلاعات موجود در این آرایه را برای دریافت اطلاعات جدید پاک کرد؟؟؟اصلا این کار کمکی به استفاده کمتر ازsram میکنه؟؟؟مشکل ریست شدن متوالی میکرو را چکار کنم؟؟؟با غیر فعال کردن adcهم حل نشد.

  9. #6
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    New مشکل ریست شدن متوالی میکرو

    دوستان به دادم برسید.ریست شدن متوالی میکرو بیچاره ام کرده.آیا ایراد داشتن برنامه و یا زیاد بودن حجم اطلاعات دریافتی از پورت سریال میتونه باعث ریست شدن میکرو بشه؟؟؟؟
    ویرایش توسط mihman : 21-09-2011 در ساعت 15:32

  10. #7
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    یرنامه رو بذار تا برسی کنیم
    همینجوری حفظی که نمیشه گفت!

  11. #8
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    نقل قول نوشته اصلی توسط agape نمایش پست ها
    یرنامه رو بذار تا برسی کنیم
    همینجوری حفظی که نمیشه گفت!

    برنامه :
    [HTML]
    Char str3[40];
    Char str2[20];
    Char str4[20];
    While(1){
    For(i==0;i<41;i++){
    Str3[i]=getchar();
    }
    lcd_gotoxy(0,1);
    sprintf(str2,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c%c",str3[0],str3[1],str3[2],str3[3],str3[4],str3[5],str3[6],str3[7],str3[8],str3[9],str3[10],str3[11],str3[12],str3[13],str3[14] ,str3[15] ,str3[16] ,str3[17] ,str3[18] ,str3[19]);
    lcd_puts(str2);
    lcd_gotoxy(0,2);
    sprintf(str4,"%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c %c%c",str3[20],str3[21],str3[22],str3[23],str3[24],str3[25],str3[26],str3[27],str3[28],str3[29],str3[30],str3[31],str3[32],str3[33],str3[34] ,str3[35] ,str3[36] ,str3[37] ,str3[38] ,str3[39]);
    lcd_puts(str4);
    delay_ms(1000);
    }
    [/HTML]

    البته دیگه من تنظیمات میکرو و هدرهای مورد استفاده را ننوشتم.اگه لازمه اونها را هم بذارم.

  12. #9
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    جناب agape به دادم برس.

  13. #10
    عضو جدید
    تاریخ عضویت
    Apr 2009
    نوشته ها
    14
    تشکر
    7
    تشکر شده 16 بار در 2 پست

    پیش فرض

    شاید از تایمر نگهبان باشه میتونید با فیوز بیتها غیر فعالش کنید

  14. #11
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    New

    نقل قول نوشته اصلی توسط reza5iran نمایش پست ها
    شاید از تایمر نگهبان باشه میتونید با فیوز بیتها غیر فعالش کنید
    نه مهندس از اون نیست،تایمر نگهبان غیر فعاله.
    ممنون میشم اگر اساتید محترم ایران میکرو به سوال زیر جواب بدن:
    آیا دریافت اطلاعات از پورت سریال میتونه باعث ریست شدن میکرو بشه؟؟؟

  15. #12
    کاربر علاقه مند esmaeil21 آواتار ها
    تاریخ عضویت
    Oct 2010
    نام
    اسماعيل شادمان
    نوشته ها
    23
    تشکر
    45
    تشکر شده 25 بار در 11 پست

    پیش فرض

    ميتونه از نويز هم باشه
    وقتي شما از adc يا اينتراپت خارجي استفاده ميكنيد ميكرو به نويز حساس ميشه

  16. #13
    کاربر فعال mihman آواتار ها
    تاریخ عضویت
    Jul 2011
    نوشته ها
    288
    تشکر
    159
    تشکر شده 164 بار در 121 پست

    پیش فرض

    نقل قول نوشته اصلی توسط esmaeil21 نمایش پست ها
    ميتونه از نويز هم باشه
    وقتي شما از adc يا اينتراپت خارجي استفاده ميكنيد ميكرو به نويز حساس ميشه
    تشکر از همراهی همه.
    در حال حاضر من تمام وقفه ها را غیر فعال کردم و adc هم خاموشه.اما میکرو یکمی که اطلاعات را از پورت سریال میگیره،ریست میشه.

  17. #14
    مدیرکل انجمنها agape آواتار ها
    تاریخ عضویت
    Feb 2009
    نام
    Zeus
    نوشته ها
    1,235
    تشکر
    139
    تشکر شده 2,209 بار در 846 پست

    پیش فرض

    سلام دوست عزیز
    برنامه شما مشکلی نداره !{ولی خیلی بهتر بود اگه کل پروژه رو میذاشتی}
    دریافت اطلاعات از پورت سریال باعت رست شدن میکرو نمیشه(من در موراردی 1024 بایت رو یک جا از پورت خودندم و مشکلی نداشته)
    نکته اول-> چه اتفاقی می افته که متوجه میشید که میکرو رسیت شده ؟
    نکته دوم -> تو قسمت فیوز بیت ها حتما فیوز بیت مروبط به فعال بودن همیشگی واتچداگ رو چک کنید ممکنه این فیوز بیت یک باشه که باعث رست شدن میکرو میشه
    نکته سوم -> ممکنه منبع تغزیه شما نویز داشته باشه (یعنی ولتاژش بالا پایین بشه) و فیوز بیت brownout detection فعال باشه و خود این مساله باعث میشه وقتی که ولتاژ به کمتر از 2.7 و یا 4.5 (بسته به تنظیمات این فیوز بیت) برسته میکرو رست بشه.
    و در آخر برای این که بفهمی میکرو داره از چه منبعی رست میشه میتونی رچیستر MCUCSR رو بخونی
    اگه از طریق واچداگ باشه بیت سوم این رجیستر 1 میشه رجیستر مقدار برابر 8 میشه و اگر از طریق brownout رست بشه مقدار بیت دوم یک میشه که مقدار اون برابر 4 هست .
    برای این که بیشتر دستگیرت بشه به فایل ضمیمه میکنم، که منابع رست رو توضیح داده :
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: pdf reset.pdf (104.7 کیلو بایت, 44 نمايش)

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

  1. خطای حافظه ی Sram برای Attiny13
    توسط mapmap در انجمن پرسش و پاسخ (نرم افزارهای تخصصی)
    پاسخ: 12
    آخرين نوشته: 10-09-2018, 10:10
  2. کم آوردن فضای sram
    توسط behnam6500 در انجمن AVR
    پاسخ: 12
    آخرين نوشته: 24-04-2012, 13:54
  3. پاسخ: 0
    آخرين نوشته: 13-05-2011, 00:49
  4. ارتقاي sram در برد آموزشي آرم
    توسط ena در انجمن AT91 series (ATMEL)
    پاسخ: 8
    آخرين نوشته: 03-08-2010, 16:40

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

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