با سلام
من میخوام برای میکروکنترلر tiny13 تایمر واچ داگ فعال کنم
و از کد ویزاد برای تنظیماتش و فعال سازیش استفاده کردم
ولی گویا یه مشکلی هست و میکرو کنترلر به محض رسیدن به تنظیمات واچ داگ ریست میشه .. یعنی با فعال سازیش بلافاصله ریست میشه
و وقتی که تنظیمات پاک میکنم .. دیگه ریست نمیشه
در صورتی ام که من برای فعال کردنش از خود کدویزارد استفاده میکنم یعنی به این شکل
کد:
// // Watchdog Timer initialization
// // Watchdog Timer Prescaler: OSC/512k
// // Watchdog Timer interrupt: Off
// #pragma optsize-
// WDTCR=0x38;
// WDTCR=0x28;
// #ifdef _OPTIMIZE_SIZE_
// #pragma optsize+
// #endif
خب من توی تنظیمات زمان ریست شدن رو 4 ثانیه در نظر گرفتم طبق جدول خود دیتاشیت
ولی چرا میکرو کنترلر بعد 2 میلی ثانیه ریست میشه نمیدونم .. یعنی بعد خوندن دستورات فعال سازی که در بالا درج کردم ( پی در پی )
البته نا گفته نماند که من این موضوع رو توی پروتیوس تست کردم که امکان داره مشکل از پروتیوس باشه و در عمل مشکلی پیش نیاد
ولی برای اینکه مطمئن باشم که تنظیمات درست هستن سوال پرسیدم
ایا تنظیمات فوق مشکلی نداره ؟
و ایا برای ریست کردن تایمر نگهبان در تمامی میکرو کنترلر های avr و کدویژن از این دستور استفاده میشه ؟
کد:
// #asm("wdr"
من میخوام برای میکروکنترلر tiny13 تایمر واچ داگ فعال کنم
و از کد ویزاد برای تنظیماتش و فعال سازیش استفاده کردم
ولی گویا یه مشکلی هست و میکرو کنترلر به محض رسیدن به تنظیمات واچ داگ ریست میشه .. یعنی با فعال سازیش بلافاصله ریست میشه
و وقتی که تنظیمات پاک میکنم .. دیگه ریست نمیشه
در صورتی ام که من برای فعال کردنش از خود کدویزارد استفاده میکنم یعنی به این شکل
کد:
// // Watchdog Timer initialization
// // Watchdog Timer Prescaler: OSC/512k
// // Watchdog Timer interrupt: Off
// #pragma optsize-
// WDTCR=0x38;
// WDTCR=0x28;
// #ifdef _OPTIMIZE_SIZE_
// #pragma optsize+
// #endif
خب من توی تنظیمات زمان ریست شدن رو 4 ثانیه در نظر گرفتم طبق جدول خود دیتاشیت
ولی چرا میکرو کنترلر بعد 2 میلی ثانیه ریست میشه نمیدونم .. یعنی بعد خوندن دستورات فعال سازی که در بالا درج کردم ( پی در پی )
البته نا گفته نماند که من این موضوع رو توی پروتیوس تست کردم که امکان داره مشکل از پروتیوس باشه و در عمل مشکلی پیش نیاد
ولی برای اینکه مطمئن باشم که تنظیمات درست هستن سوال پرسیدم
ایا تنظیمات فوق مشکلی نداره ؟
و ایا برای ریست کردن تایمر نگهبان در تمامی میکرو کنترلر های avr و کدویژن از این دستور استفاده میشه ؟
کد:
// #asm("wdr"

دیدگاه