اطلاعیه

Collapse
No announcement yet.

watch dog & Timer

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

    watch dog & Timer

    سلام به همه
    دوستان قصد استفاده از watchdog رو دارم اما حجم برنامه نوشته شده تا اینجا چیزی نزدیک به 67 کیلو بایته :mrgreen:
    حالا برای استفاده از watchdog باید تمام کدهارو بازخونی کنم و جای مناسب برای ریست تایمر watchdog ر وپیدا کنم که کاره پیچیده ای میشه بخاطر حجم کدام
    سوال:
    میتونم از تایمر کانتر برای این کار استفاده کنم و تایمر رو مثلا برای هر 500 میلی ثانیه راش بندازم و توی سابروتین تایمر بیام شمارنده مربوط به watchdog رو ریست کنم؟
    اگر میکرو هنگ کنه ممکنه تایمر به کارش ادامه بده و چون با سابروتین وقفه کار میکنه با وجود هنگ کردن میکرو بیاد هر 500 میلی ثانیه watchdog رو ریست کنه و دوباره به خطی که میکرو توش هنگ کرده برگرده؟
    از کمکتون ممنونم
    اي خدا ، من بايد از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از اين راه طعنه زنند. بايد به آن سنگدلاني که علم را بهانه کرده و به ديگران فخر ميآ*فروشند، ثابت کنم که خاک پاي من هم نخواهند شد. بايد همه آن تيره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترين و افتاده ترين مرد روي زمين باشم.
    شهيد دکتر مصطفي چمران
    اللهم صل علي محمد و ال محمد و عجل فرجهم
    ; C is not for children

    #2
    پاسخ : watch dog & Timer

    نوشته اصلی توسط مهدی رهی
    از تایمر کانتر برای این کار استفاده کنم و تایمر رو مثلا برای هر 500 میلی ثانیه راش بندازم و توی سابروتین تایمر بیام شمارنده مربوط به watchdog رو ریست کنم؟
    اگر میکرو هنگ کنه ممکنه تایمر به کارش ادامه بده و چون با سابروتین وقفه کار میکنه با وجود هنگ کردن میکرو بیاد هر 500 میلی ثانیه watchdog رو ریست کنه و دوباره به خطی که میکرو توش هنگ کرده برگرده؟
    از کمکتون ممنونم
    بله. شما هر جایی که دلتون بخواد می تونید به watchdogمقدار جدید بدید (یا اونو ریست کنید). اینکه میگم مقدار جدید بدید به خاطره اینه که بعضی جاها، اصطلاحا میگن برای watchdog بدوباره fed انجام بدید. دوباره بهش غذا بدید تا میکرو رو ریست نکنه !!!
    اگر میکرو هنگ کنه، تایمر هم متوقف میشه، این تجربه من بوده. برای اطمینان خاطر هم میتونی یک متغیر رو یکبار زیاد کنی (مثلا تو وقفه 250 میلی ثانیه) ، بعد که متغیر شد 2 (تو همون تابع وقفه تایمر، watchdog رو ریست کن.
    ---------
    .
    .
    ...........

    دیدگاه

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