سلام به همه چه طور میشه هر وقت که ما بخوایم میکرو هنگ کنه؟
اطلاعیه
Collapse
No announcement yet.
چه طور به میکرو بگیم هنگ کن؟
Collapse
X
-
پاسخ : چه طور به میکرو بگیم هنگ کن؟
نوشته اصلی توسط امیر راشدیاین طوری که میکرو هنگ نمی کنه (آwatch dog عمل نمی کنه )آ فقط توحلقه بینهایت می مونه؟ درسته؟
به طور مثال شما تنظیم میآکنی که هر 2 ثانیه واچداگ عمل کنه ولی در فواصل کمتر از 2 ثانیه توی برنامه مشخص میآکنی که واچداگ ریست بشه. در نتیجه قبل از این که واچداگ به 2 ثانیه برسه و عمل کنه ریست میشه. اگه میکرو هنگ کنه واچداگ به کارش ادامه میده ولی میکرو هیچ وقت به دستور ریست واچداگ نمیرسه و در نتیجه سر 2 ثانیه عمل میآکنه.
حالا اگه داخل حلقه از دستور ریست واچداگ استفاده نکنی،واچداگ سر موعدش عمل میآکنه
دیدگاه
-
پاسخ : چه طور به میکرو بگیم هنگ کن؟
من داشتم روی watchdog کار می کردم می خواستم ببینم چه طور میشه کدم رو تست کنم یعنی چه طور شرایط هنگ کردن رو برای میکرو به وجود بیارم تا ببینم میکرو تو این شرایط چه عکس العملی انجام میده؟ فکر کنم این بشه یه نوع تست کردن میکرو توشرایط سخت! صورت کلی تر سوال شاید بهتره که این طور باشه که چه طور مطمئن بشیم که بردی میکروکنترولری که طراحی می کنیم مطمئنا تو شرایط پر نویز صنعت یکار می کنه؟
دیدگاه
-
پاسخ : چه طور به میکرو بگیم هنگ کن؟
با سلام
معمولا میکرو کنترلر ها
1- در حلقه بینهایت بدون خروج از حلقه
2- عدم استفاده صحیح از ریست کردن Wachdog
3- پرش به قسمتی از حافظه میکرو که دستوری برای برگشت ندارد
از انجام وظیفه که خواندن . ترجمه و اجرای دستورات است باز میمانند گفته میشود هنگ کرده است که این کارها یا بوسیله اشتباه در برنامه نویسی و یا دیکود کردن کامپایلر ویا نوسانات در تغذیه میکرو اتفاق می افتد وشما میتوانید خود نیز شبیه سازی کنید
در بسیاری از کامپایلر ها پیشنهاد میشود که از دستور goto در ارجاع به محلی غیر از تابع جاری خودداری شود بیشتر به خاطر همین است میدانیم که وقتی ما مثلا از تابع t1 تابع t2 را صدا میکنیم آدرس بعد ازخط فراخوانی در t1 در پشته ذخیره میشود تا موقع بازگشت از آن استفاده شود حالا اگر از تابع t2 تابع t3 را فراخوانی نماییم آدرس بازگشت مربوط به t2 در پشته بعد از آدرس بازگشتی t1 قرار میگیرد وبه ترتیب مورد استفاده قرار میگیرد اگر به جای Retun با دستور goto به محلی از t2 برگردیم آدرس بازگشتی پشته اشتباه میشود حالا اگر چندین تابع با goto میانبر بزنیم دیگر .......
دیدگاه
-
پاسخ : چه طور به میکرو بگیم هنگ کن؟
نوشته اصلی توسط امیر راشدیمن داشتم روی watchdog کار می کردم می خواستم ببینم چه طور میشه کدم رو تست کنم یعنی چه طور شرایط هنگ کردن رو برای میکرو به وجود بیارم تا ببینم میکرو تو این شرایط چه عکس العملی انجام میده؟ فکر کنم این بشه یه نوع تست کردن میکرو توشرایط سخت! صورت کلی تر سوال شاید بهتره که این طور باشه که چه طور مطمئن بشیم که بردی میکروکنترولری که طراحی می کنیم مطمئنا تو شرایط پر نویز صنعت یکار می کنه؟
hi miami
دیدگاه
دیدگاه