【iCore1S 雙核心板_ARM】例程六:WWDG看門狗實驗——復位ARM

XiaomaGee發表於2017-07-08

實驗原理:

  STM32內部包含視窗看門狗,通過看門狗可以監控程式執行,程式錯誤

時,未在規定時間喂狗,自動復位ARM。本實驗通過按鍵按下,停止喂狗,

製造程式執行 錯誤,從而產生復位 。  

實驗現象:

  iCore1S雙核心板三色LED交替閃爍,當按鍵按下超過1s,看門狗復位ARM。

核心程式碼:

int main(void)
{    
    int i;    
    for(i = 0;i < 10000; i++)
  
    system_clock.initialize();               
    led.initialize();
    key.initialize();
    wwdg.initialize();
    LED_RED_ON; 

    while(1){
        if(!KEY_INPUT){                          //按鍵按下,開始喂狗
        HAL_Delay(100);
      HAL_WWDG_Start_IT(&hwwdg);//ι¹·
        wwdg.feed_dog(&hwwdg);
        }
    }
}
static int initialize(void)
{
  hwwdg.Instance = WWDG;
  hwwdg.Init.Prescaler = WWDG_PRESCALER_8;               //設定預分頻值
  hwwdg.Init.Window = 90;                                    //設定視窗值
  hwwdg.Init.Counter = 127;                                  //設定計數器初值
  HAL_WWDG_Init(&hwwdg);

  return 0;
}

 

原始碼下載連結:

連結:http://pan.baidu.com/s/1dFxk4Dz 密碼:oqyi

相關文章