通过读取LIB库读取MCU重启方式
void Check_Rst(void)
{
printf(" CSR = %x\r\n", RCC->CSR);
if(RCC_GetFlagStatus(RCC_FLAG_PINRST) != RESET ) // NRST 引脚复位
{
printf("PIN reset \r\n");
}
if(RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET ) // 上电掉电复位
{
printf("POR/PDR reset \r\n");
}
if(RCC_GetFlagStatus(RCC_FLAG_SFTRST) != RESET ) // 软件复位
{
printf("Software reset \r\n");
}
if(RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET ) // 独立看门狗复位
{
printf("Independent watchdog reset \r\n");
}
if(RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET ) // 窗口看门狗复位
{
printf("Window watchdog reset \r\n");
}
if(RCC_GetFlagStatus(RCC_FLAG_LPWRRST) != RESET ) // 低功耗复位
{
printf("(Low-power reset \r\n");
}
RCC_ClearFlag(); //清除复位标志
printf("\r\n");
}