• کاربر مهمان ،حجم مصرفی اینترت و دانلود شما از این انجمن به صورت نیم بها محاسبه می گرد . در صورتی که این سایت مورد توجه و رضایت شما قرار گرفته است ،لطفا با عضویت در سایت ،به جمع ما بپیوندید .
منتظر افتتاح فروشگاه اینترنتی جدید ما باشید . فروشگاه AZAX به زودی افتتاح خواهد شد .

سوال مشکل با واچ داگ (تایمر نگهبان )

در مجموع 0 کاربر از این موضوع بازدید داشته است دیدن جزئیات

هم اکنون 1 نفر شامل 0عضو و 1مهمان در حال مشاهده این موضوع است

اسمیت

کاربر فعال
کاربر فعال
عضو انجمن 220ولت
عضویت
8 April 2016
ارسال ها
51
لایک ها
55
با سلام
من میخوام برای میکروکنترلر 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")
 

مهران چمنی

مدیریت کل سایت
عضو کادر مدیریت
مدیریت کل انجمن ها
مدیریت کل فروشگاه
عضویت
21 October 2015
ارسال ها
864
لایک ها
856
محل سکونت
مشهد / شهر عشـــق
سلام
این برنامه رو امتحان کنید :
کد:
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/16k
#pragma optsize-
WDTCR=0x18;
WDTCR=0x08;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
و برای ریست کردن :
کد:
#asm("wdr")
موفق باشید
 

اسمیت

کاربر فعال
کاربر فعال
عضو انجمن 220ولت
عضویت
8 April 2016
ارسال ها
51
لایک ها
55
با تشکر از پاسخ شما
مشکل از پروتیوس بود . با نصب ورژن بالاتر دیگه ریست نمیشه
و درست کار میکنه