উত্তর:
ওয়াচডগ টাইমার (ডাব্লুডিটি) ডিফল্টরূপে চালু থাকে, আরও জটিল অ্যাপ্লিকেশন ব্যবহার করা একটি দরকারী জিনিস, তবে প্রচুর নতুন লোককে ট্রিপ করে। তারা প্রায়শই তাদের কোডে ডাব্লুডিটি পরিষেবা দেয় না বা ডাব্লুডিটি ইভেন্টটি পরিচালনা করতে একটি বিঘ্নিত পরিষেবা রুটিন (আইএসআর) অন্তর্ভুক্ত করে, তাই, যখন তাদের চিপটি পুনরায় সেট করা চালিয়ে যায় তখন তারা খুব হতাশ হয়। অতিরিক্তভাবে, স্যাম্পল প্রোগ্রামগুলি বেশিরভাগ অংশে ডাব্লুডিটি প্রদর্শনের চেষ্টা করছে না যাতে এটি বন্ধ রয়েছে।
সম্পাদনা করুন: ওয়াচডগ টাইমারটির নাম দেওয়া যেতে পারে "মৃত ব্যক্তির স্যুইচ"। এর ডিফল্ট আচরণটি হ'ল মাইক্রোকন্ট্রোলারটিকে রিসেট করা যদি না ফার্মওয়্যার পর্যায়ক্রমে এটি জানতে দেয় যে সবকিছু ঠিকঠাক চলছে। এটি "কুকুরকে খাওয়ানো" বা "কুকুরটিকে লাথি মারা" হিসাবে পরিচিত। এইভাবে, যদি আপনার ফার্মওয়্যারটি কোনও লুপে আটকে যায় বা অন্যথায় প্রত্যাশা অনুযায়ী কাজ করা বন্ধ করে দেয়, প্রহরীদাগকে খাওয়ানো হয় না এবং চিপটি পুনরায় সেট করা হবে (আশা করা যায় একটি নতুন, কার্যক্ষম অবস্থায়)।
আপনি ডাব্লুডিটি অন্যান্য কার্য সম্পাদন করতে পর্যায়ক্রমে বাধা হিসাবে ব্যবহার করতে পারেন, আপনি যা কল্পনা করতে পারেন। আপনাকে কেবল প্রাসঙ্গিক আইএসআর লিখতে হবে।
লোকজন দুর্ঘটনাক্রমে ডাব্লুডিটি ট্রিপ করা সম্পর্কে শমূয়েলের বক্তব্য ছাড়াও, এটি প্রাথমিকভাবে অক্ষম করার জন্য আরও একটি গুরুত্বপূর্ণ কারণ রয়েছে।
এমনকি যদি আপনার অ্যাপ্লিকেশনটি সাধারণত টাইমারটিকে সঠিকভাবে পুনরায় সেট করতে সক্ষম হয় তবে এটি দুটি কারণে শুরুর কোডের সময় করতে সক্ষম নাও হতে পারে:
ফলস্বরূপ, আপনি কখনই সক্ষম না করলেও , ডাব্লুডিটিটিকে আপনার প্রথম কাজ হিসাবে অক্ষম করা ভাল অনুশীলন ।
আপনি যদি এটি ব্যবহার করতে চান তবে আপনার সূচনা কোডের শেষ পদক্ষেপ হিসাবে আপনি বিঘ্নগুলি চালু করার আগে অবিলম্বে এটি পুনরায় সক্ষম করতে পারেন।
int _system_pre_init(void)
ফাংশনটি ব্যবহার করে আরম্ভের আগে এটি অক্ষম করতে পারবেন , যা আগে সম্পাদন করেmain