STM32F407 hang and watchdog doesn't reset
Hi everybody,
I'm sorry for poor English.
I'm using STM32F407VET6 in my board and I set up watchdog timer. However sometimes microcontroller hangs . Here is the main loop of my code:
while(TRUE)
{
// ======================================
clearWatchDog();
// ======================================
if (bRunTimingTask)
{
runTimingTask();
bRunTimingTask = FALSE;
}
// ======================================
if (bRunFlashModeTask)
{
runFlashModeTask();
bRunFlashModeTask = FALSE;
}
// ======================================
if (bRunGuiTask)
{
runGuiTask();
bRunGuiTask = FALSE;
}
// ======================================
if (bReadAdc)
{
ReadADCData();
bReadAdc = FALSE;
}
// ======================================
if(bSystemLogic)
{
SystemLogic();
bSystemLogic = FALSE;
}
}First question is: why the watchdog timer doesn't reset the uController?
The flag bRunTimingTask is set in Systick interrupt routine every 10ms and the other flags like bSystemLogic, bReadAdc, bRunGuiTask, .. are set inside the runTimingTask() function.
The second question is: Is it possible that the Systick Interrupt be disabled suddenly and unwanted because of noise or other reasons?
Thanks