最近做个东西,想每次单片机复位都能打印上一次复位的原因,但是每次检测,所有位读取的都是为0,我想问一下还有什么地方需要配置的吗?程序如下:
void TestResetStatus(void)
{
FlagStatus ret;
ret=RCC_GetFlagStatus(RCC_FLAG_PORRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_PORRST\r\n");
}
ret=RCC_GetFlagStatus(RCC_FLAG_SFTRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_SFTRST\r\n");
}
ret=RCC_GetFlagStatus(RCC_FLAG_IWDGRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_IWDGRST\r\n");
}
ret=RCC_GetFlagStatus(RCC_FLAG_WWDGRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_WWDGRST\r\n");
}
ret=RCC_GetFlagStatus(RCC_FLAG_LPWRRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_LPWRRST\r\n");
}
ret=RCC_GetFlagStatus(RCC_FLAG_PINRST);
if(ret!=RESET)
{
printf("\r\nRCC_FLAG_PINRST\r\n");
}
RCC_ClearFlag();
}
|