窗口看门狗设置的是当喂狗时间超时,就会进入看门狗中断,但是中断进不去,并且运行到WWDG->CR=0xff;(设置计数器并使能看门狗)就会系统复位,之后的程序就都不运行。
RCC->APB1ENR|=0x1<<11;//看门狗时钟使能 WWDG->CFR&=~(0x3<<7); WWDG->CFR|=0x3<<7;//预分频 WWDG->CFR&=~0xef; WWDG->CFR|=0x5f;//上窗口 WWDG->CR=0xff;//设置计数器并使能看门狗(运行到这一步就会复位) WWDG->SR=0;//清除中断标志位 WWDG->CFR|=0x1<<9;使能看门狗中断 MY_NVIC_Init(23WWDG_IRQn2);
可以分享下解决问题的方法。
目测是看门狗时能太早了,导致的提前复位