اطلاعیه

Collapse
No announcement yet.

تجربه ای که در مورد کار با watchdog timer داشتم

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

    تجربه ای که در مورد کار با watchdog timer داشتم

    وقتی میخواید ازwatchdog timer استفاده کنید سعی کنید دستورات بارگذاری مجددش رو توی وقفه های سیکلی قرار ندید دلیلش اینه که ممکنه میکرو در یکی از function ها گیر کرده باشه و اینطوری دیگه ریست نمیشه
    بهترین جا برای بارگذاری مجدد کانتر watchdog timer تابع main هستش
    در ضمن بیاد داشته باشید که دستورات مربوط به بارگذاری باید دقیقا پشت سر هم وطبق دستور manual میکرو ارسال بشه
    درصورتی که شما از وقفه ها در میکروی خودتون استفاده میکنید (که حتما همینطوره) بهتره(باید) در زمان بارگذاری تمام وقفه ها رو برای چند سیکل غیر فعال کنید
    مثل نمونه کد پایین برای LPC17xx

    __disable_irq(); // Disable Interrupts
    LPC_WDT->WDFEED = 0xAA; // feed sequence.
    LPC_WDT->WDFEED = 0x55;
    __enable_irq(); // Enable Interrupts
لطفا صبر کنید...
X