在STM32中有幾種復位方式:1、Rest按鍵復位,2、看門狗復位。3、軟件復位。對於前兩種復位機制,后期再做補充,此處重點介紹軟件復位。
三、因近期做個東西需要系統通過上位機指令復位,因此需添加復位函數。函數具體實現如下:
1、在stm32f4xx.h中添加(在其他地方添加也可):
#define SCB_AIRCR (*(volatite unsigned long *)0xE000ED0C) //Reset control Address Register
#define SCB_RESET_VALUE 0x05FA0004 //reset value ,write to SCB_AIRCR can reset cpu
2、編寫復位函數
在任意功能函數區均可編寫,本次測試時在main函數所在文件中編寫:
void Reset_Cpu(void)
{
SCB_AIRCR=SCB_RESET_VALUE;
}
在需要的地方調用該函數即可實現CPU復位。