اطلاعیه

Collapse
No announcement yet.

چه طور به میکرو بگیم هنگ کن؟

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

    چه طور به میکرو بگیم هنگ کن؟

    سلام به همه چه طور میشه هر وقت که ما بخوایم میکرو هنگ کنه؟

    #2
    پاسخ : چه طور به میکرو بگیم هنگ کن؟

    یندازش توی یه حلقه و قبلش وقفهآ‌ها رو هم غیر فعال کن.

    دیدگاه


      #3
      پاسخ : چه طور به میکرو بگیم هنگ کن؟

      این طوری که میکرو هنگ نمی کنه (آ‌watch dog عمل نمی کنه )آ‌ فقط توحلقه بینهایت می مونه؟ درسته؟

      دیدگاه


        #4
        پاسخ : چه طور به میکرو بگیم هنگ کن؟

        شما میخوای هنگ کنه یا هنگ رو شبیه سازی کنی.
        هنگ کردن در عمل چیزی نیست که بتونی براحتی بوجود بیاری : از موارد هنگ قطع شدن کلاک؛ اجرای دستور نامشخص (بهر علت)؛ جامپ نامشخص و ....
        کاش سوالتون رو کاملتر مطرح کرده بودین

        دیدگاه


          #5
          پاسخ : چه طور به میکرو بگیم هنگ کن؟

          نوشته اصلی توسط امیر راشدی
          این طوری که میکرو هنگ نمی کنه (آ‌watch dog عمل نمی کنه )آ‌ فقط توحلقه بینهایت می مونه؟ درسته؟
          عمل کردن واچداگ ارتباط مستقیمی با هنگ نداره
          به طور مثال شما تنظیم میآ‌کنی که هر 2 ثانیه واچداگ عمل کنه ولی در فواصل کمتر از 2 ثانیه توی برنامه مشخص میآ‌کنی که واچداگ ریست بشه. در نتیجه قبل از این که واچداگ به 2 ثانیه برسه و عمل کنه ریست میشه. اگه میکرو هنگ کنه واچداگ به کارش ادامه میده ولی میکرو هیچ وقت به دستور ریست واچداگ نمیرسه و در نتیجه سر 2 ثانیه عمل میآ‌کنه.
          حالا اگه داخل حلقه از دستور ریست واچداگ استفاده نکنی،واچداگ سر موعدش عمل میآ‌کنه

          دیدگاه


            #6
            پاسخ : چه طور به میکرو بگیم هنگ کن؟

            به طور غیر مستقیم عدد تقسیم بر صفر کن . (البته خودم تست نکردم)
            یادش بخیر یه وقتایی هر روز میومدم اینجا !

            دیدگاه


              #7
              پاسخ : چه طور به میکرو بگیم هنگ کن؟

              من داشتم روی watchdog کار می کردم می خواستم ببینم چه طور میشه کدم رو تست کنم یعنی چه طور شرایط هنگ کردن رو برای میکرو به وجود بیارم تا ببینم میکرو تو این شرایط چه عکس العملی انجام میده؟ فکر کنم این بشه یه نوع تست کردن میکرو توشرایط سخت! صورت کلی تر سوال شاید بهتره که این طور باشه که چه طور مطمئن بشیم که بردی میکروکنترولری که طراحی می کنیم مطمئنا تو شرایط پر نویز صنعت یکار می کنه؟

              دیدگاه


                #8
                پاسخ : چه طور به میکرو بگیم هنگ کن؟

                با سلام

                معمولا میکرو کنترلر ها

                1- در حلقه بینهایت بدون خروج از حلقه
                2- عدم استفاده صحیح از ریست کردن Wachdog
                3- پرش به قسمتی از حافظه میکرو که دستوری برای برگشت ندارد

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

                در بسیاری از کامپایلر ها پیشنهاد میشود که از دستور goto در ارجاع به محلی غیر از تابع جاری خودداری شود بیشتر به خاطر همین است میدانیم که وقتی ما مثلا از تابع t1 تابع t2 را صدا میکنیم آدرس بعد ازخط فراخوانی در t1 در پشته ذخیره میشود تا موقع بازگشت از آن استفاده شود حالا اگر از تابع t2 تابع t3 را فراخوانی نماییم آدرس بازگشت مربوط به t2 در پشته بعد از آدرس بازگشتی t1 قرار میگیرد وبه ترتیب مورد استفاده قرار میگیرد اگر به جای Retun با دستور goto به محلی از t2 برگردیم آدرس بازگشتی پشته اشتباه میشود حالا اگر چندین تابع با goto میانبر بزنیم دیگر .......

                دیدگاه


                  #9
                  پاسخ : چه طور به میکرو بگیم هنگ کن؟

                  نوشته اصلی توسط امیر راشدی
                  من داشتم روی watchdog کار می کردم می خواستم ببینم چه طور میشه کدم رو تست کنم یعنی چه طور شرایط هنگ کردن رو برای میکرو به وجود بیارم تا ببینم میکرو تو این شرایط چه عکس العملی انجام میده؟ فکر کنم این بشه یه نوع تست کردن میکرو توشرایط سخت! صورت کلی تر سوال شاید بهتره که این طور باشه که چه طور مطمئن بشیم که بردی میکروکنترولری که طراحی می کنیم مطمئنا تو شرایط پر نویز صنعت یکار می کنه؟
                  اگه منظورتون نویز محیطی هستش، میتونی pwm های مختلف همزمان با فرکانس های مختلف رو مستقیما وصل کنی به پایه های میکرو.
                  hi miami

                  دیدگاه


                    #10
                    پاسخ : چه طور به میکرو بگیم هنگ کن؟

                    توی یک قسمت برنامه از دستور حقه بینهایت استفاده کن (بدون دستور watchdog reset). اون وقت میبینی که میکرو پس از گذشت زمانی که معین کردید مثل هلو ریست میشه
                    امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                    دیدگاه

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