要想查看复位情况可以使用:
//******************************************************************************
// 函数名称: RCC_GetFlagStatus
// 功能描述: 检查指定的RCC标志设置与否.
// 输入参数: RCC_FLAG:要检查的标志.
// 这个参数可以是下面的值之一:
// - RCC_FLAG_HSIRDY: HIS振荡时钟就绪
// - RCC_FLAG_HSERDY: HSE振荡时钟就绪
// - RCC_FLAG_PLLRDY: PLL时钟就绪
// - RCC_FLAG_LSERDY: LSE振荡时钟就绪
// - RCC_FLAG_LSIRDY: LSI振荡时钟就绪
// - RCC_FLAG_PINRST: 引脚复位
// - RCC_FLAG_PORRST: POR/PDR复位
// - RCC_FLAG_SFTRST: 软件复位
// - RCC_FLAG_IWDGRST: 独立看门狗复位
// - RCC_FLAG_WWDGRST: 窗口看门狗复位
// - RCC_FLAG_LPWRRST: 低电量复位
// 输出参数: 无
// 返回参数: RCC_FLAG的新状态(SET或RESET).
FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)来查看! 而要想软件产生一个复位如下:
在官方软件库的stm32f10x_nvic.c 文件里 直接提供了 系统复位的函数 //*******************************************************************************
* 函数名称: NVIC_GenerateSystemReset
* 功能描述: 生成一个系统复位.
* 输入参数: 无
* 输出参数: 无
* 返回参数: 无
*******************************************************************************/
void NVIC_GenerateSystemReset(void)
{
SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x04;
}
|