اطلاعیه

Collapse
No announcement yet.

نحوه ریست کردن Watchdog Timer

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

    نحوه ریست کردن Watchdog Timer

    سلام
    طبق توضیحات دیتاشیت برای تنظیم واچ داگ سه تا ریجیستر در نظر گرفته شده
    1- WDT.CTRL
    2- WDT.WINCTRL
    3- WDT.STATUS

    مطابق کد زیر مقدار واچ داگ روی 1 ثانیه تنظیم میشه
    [code=c]CCP = CCP_IOREG_gc;
    WDT.CTRL= WDT_PER_1KCLK_gc | WDT_ENABLE_bm | WDT_CEN_bm ;
    while(WDT.STATUS & WDT_SYNCBUSY_bm);[/code]

    اما تو دیتاشیت توضیحی برای ریست کانتر واچ داگ نداره یعنی اگه بخوایم داخل حلقه اصلی برنامه از ریست شدن میکرو بوسیله واچ داگ جلوگیری کنیم باید کدوم ریجیستر رو مقدار دهی بکنیم ؟

    #2
    پاسخ : نحوه ریست کردن Watchdog Timer

    فک کنم دستور اسمبلی wdr هین کارو بکنه.

    دیدگاه


      #3
      پاسخ : نحوه ریست کردن Watchdog Timer

      مرسی
      دستور زیر جواب داد اما یه سوال دیگه این دستور کدوم ریجستر رو دستکاری میکنه ؟
      [code=asm]asm("WDR" [/code]

      دیدگاه


        #4
        پاسخ : نحوه ریست کردن Watchdog Timer

        از ASF خود اتمل هم میتونید استفاده کنید خیلی راحت تر هست.

        کد:
        	wdt_set_timeout_period(WDT_TIMEOUT_PERIOD_2KCLK);
        	wdt_enable();
        		wdt_reset();

        دیدگاه

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