ايران ويج

نسخه‌ی کامل: Watchdog تایمر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام من سوالی در مورد تایمر watchdog داشتم که چطوری در برنامه تعریف کنم که اگه میکرو هنگ کرد میکرو ریست کنه .اگه با ذکر مثال باشه ممنون میشم
مهندس بسکام باشه یا کدویژن!
عزیز اگه با بسکام باشه ممنون میشم
از کتاب سعید جوون : http://forum.iranled.com/showthread.php?tid=12103


>>راه اندازی WATCHDOG:

WATCHDOG یکی از تایمر های میکرو است که میتواند تا یک زمان خاص بشمارد و میکرو را ریست کند ، این تایمر میتواند تا 8 زمان 16 ، 32، 64 ، 128 ، 256 ، 512 ، 1024 و 2048 و در بعضی از میکروها 4096, 8192 میلی ثانیه بشمارد ، بعد از سپری شدن زمان میکرو ریست میشود و برنامه دوباره از ابتدا اجرا میشود ، راه اندازی WATCHDOG به فرم زیر است :

کد php:
CONFIG WATCHDOG time 

Time : یکی از زمان های گفته شده در بالا میباشد (16 ، 32، 64 ، 128 ، 256 ، 512 ، 1024 و 2048 و در بعضی از میکروها 4096, 8192 میلی ثانیه)

با دستور

کد php:
Start Watchdog 

تایمر شروع به شمارش میکند و پس از سپری شدن زمان میکرو ریست میشود.

مانند:

کد php:
$regfile "m16def.dat"
$crystal 8000000
Config Porta.0 
Input
Config Porta.1 
Output
Config Watchdog 
1024
Do
If 
Pina.0 0 Then
Set Porta.1
Else
Start Watchdog
End 
If
Loop
End 

در مثال بالا پایه a.0 ( که در حالت عادی 1 است) مدام چک میشود و در صورتی که پایه 0 شود میکرو بعد از 1024 میلی ثانیه ریست میشود.


پی نوشت من :

شما باید تو برنامتون مدام تایمر واچ داگ رو ریست کنین تا اگه احیانا برنامه قاطی کرد زمان واچ داگ سپری بشه و میکرو ریست بشه !

کد php:
Reset Watchdog 
نقل قول: مهندس بسکام باشه یا کدویژن!

مهندس اگر در کدویژن هم توضیح بدی ممنون میشم
من فقط بسکام کار می کنم !
کدویژنشو بلد نیستم !!!!!

سید عنکبوتی کدویژن کار می کنه و از اون بپرسین !!!!!

ولی اصول کارشون یکیه !