Challenge - 5 Problems
Watchdog Timer Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate2:00remaining
Purpose of a Watchdog Timer
Why is a watchdog timer important in embedded systems?
Attempts:
2 left
💡 Hint
Think about what happens if the program gets stuck or crashes.
✗ Incorrect
A watchdog timer helps to automatically reset the system if the software stops working properly. This prevents the system from hanging indefinitely.
❓ Predict Output
intermediate2:00remaining
Watchdog Timer Reset Behavior
What will be the output of this embedded C code snippet simulating a watchdog reset?
Embedded C
#include <stdio.h> int main() { static int watchdog_counter = 0; int system_hang = 1; // 1 means system is stuck if(system_hang) { watchdog_counter++; if(watchdog_counter > 3) { printf("System Reset Triggered\n"); } else { printf("System Running\n"); } } else { printf("System Running Normally\n"); } return 0; }
Attempts:
2 left
💡 Hint
Check how many times the watchdog_counter is incremented and compared.
✗ Incorrect
The watchdog_counter is incremented once and checked if it is greater than 3. Since it is 1, the output is "System Running".
🔧 Debug
advanced2:00remaining
Identify the Watchdog Timer Bug
What error will this embedded C code cause related to the watchdog timer?
Embedded C
void watchdog_reset() {
int timer = 0;
if(timer == 0) {
// supposed to reset watchdog timer
timer = 5;
}
}
int main() {
watchdog_reset();
if(timer == 0) {
// check if timer reset
printf("Watchdog not reset\n");
} else {
printf("Watchdog reset\n");
}
return 0;
}Attempts:
2 left
💡 Hint
Check variable scope of 'timer' in main function.
✗ Incorrect
The variable 'timer' is declared inside watchdog_reset function and is not visible in main. This causes a compilation error.
📝 Syntax
advanced2:00remaining
Syntax Error in Watchdog Timer Code
Which option contains the correct syntax to initialize and start a watchdog timer in embedded C?
Attempts:
2 left
💡 Hint
Assignment uses a single equal sign in C.
✗ Incorrect
In C, assignment uses '=', not '==' or ':='. Bitwise OR '|' is used to combine flags.
🚀 Application
expert3:00remaining
Watchdog Timer Use Case Scenario
In which scenario is a watchdog timer most critical to ensure system reliability?
Attempts:
2 left
💡 Hint
Think about systems that cannot be manually reset easily.
✗ Incorrect
Spacecraft systems run unattended and must recover automatically from faults. Watchdog timers help reset the system if it hangs.