اطلاعیه

Collapse
No announcement yet.

watchdog در CodeVision

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

    watchdog در CodeVision

    سلام.
    امروز برای انجام پروژه ای که قراره توی محیط صنعنی کارکنه می خواستم توی Codevision از تایمر Watchdog استفاده کنم که به نتایج عجیبی رسیدم .
    خب اساس کار واچداگ اینطوره که بعد از فعال شدن ، اگر در مدت زمان مجاز (مثلا 1.1 ثانیه) ، خودمون واتچداگ رو ریست نکنیم باید میکرو ریست بشه .
    خب من فعالش کردم و با نوشتن یک حلقه while(1) ; میکرو ریست میشه . تا اینجا درسته .
    حالا اگر قبل از حلقه while(1) یه دستور delay_ms(5000) بنویسم میکرو 5 ثانیه منتظر میشه ! بعد که به حلقه while میرسه ریست میکنه ! که این مشکل داره . یعنی میکرو بدون غیر فعال کردن watchdog به خاطر دستور نرم افزاری delay پنج ثانیه ریست نشده .


    چرا!؟

    #2
    پاسخ : watchdog در CodeVision

    این مطلب رو در سایت http://www.avrfreaks.net/ دیدم.

    The watchdog timer really does not work in CVAVR compiler if the delay_ms(xx) command is used or probably only if the #include<delay.h> header used.

    منبع : http://www.avrfreaks.net/index.php?n...ic&t=83948

    دیدگاه


      #3
      پاسخ : watchdog در CodeVision

      اگر به HELP کدویژن نگاه کنیم نوشته :

      void delay_ms(unsigned int n)


      generates a delay of n milliseconds.
      This function automatically resets the wtachdog timer every 1ms by generating the wdr instruction.

      سوال : چطور خودمون تابع Delay بنویسیم که این مشکل پیش نیاد ؟

      دیدگاه


        #4
        پاسخ : watchdog در CodeVision

        به جای استفاده از delay_ms از delay_us استفاده کن

        دیدگاه


          #5
          پاسخ : watchdog در CodeVision

          سلام
          به لینک زیر برو:http://www.eca.ir/forum2/index.php?t...5245#msg615245
          تو لینک یه مثال گزاشم که توش تابع wathdog_reset(); داره.
          ===
          ولی عجیبه!
          آخه برنامه وقتی که به delay اونم ms اش میرسه باید واچداگ رو ریست کنه!
          حتما کرک کدویژنتون مشکل داره و معتبر نیست(چون کرک نامعبر مشکلات زیادی برای برنامه نویس به وجود میاره!).
          1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
          من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
          !Electronic On! Programming On
          هوشمندانه سوال بپرسیم!
          http://ir02x6.persiangig.com/logo/eca/tanks_01.png

          دیدگاه

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