stm32看门狗中断,stm32独立看门狗无效
stm32窗口看门狗中断服务函数为什么不能用延时函数
你用一下这个代码看一下:
void EXTI0_IRQHandler(void) //key1
{
Delay_us(10000); //消除抖动
if(KEY1==0)
{
LED1=!LED1;
}
EXTI_ClearITPendingBit(EXTI_Line0);
}
void Delay_us(__IO uint32_t nTime)
{
TimingDelay=nTime;
SysTick-CTRL|=SysTick_CTRL_ENABLE_Msk; //使能滴答时钟,开始计数
while(TimingDelay!=0);
if(!TimingDelay) //假如计数结束,则关闭滴答时钟
SysTick-CTRL=(~SysTick_CTRL_ENABLE_Msk);
}
void SysTick_Handler(void)
{
if(TimingDelay!=0x00)
TimingDelay--;
stm32独立看门狗和窗口看门狗的区别是什么
stm32独立看门狗和窗口看门狗的区别为:时钟源不同、中断不同、使用条件不同。
一、时钟源不同
1、stm32独立看门狗:stm32独立看门狗使用的是内部专门的 40Khz低速时钟,不需要使能时钟操作。
2、窗口看门狗:窗口看门狗使用的是 PCLK1的时钟,使用前需要先使能时钟。
二、中断不同
1、stm32独立看门狗:stm32独立看门狗没有中断,超时直接复位。
2、窗口看门狗:窗口看门狗可以在中断中做复位前的函数操作。
三、使用条件不同
1、stm32独立看门狗:stm32独立看门狗一般用于避免程序跑飞或者死循环。
2、窗口看门狗:窗口看门狗避免程序不安预定逻辑执行,比如先于理想环境完成,或者后于极限时间超时。
stm32开了看门狗还是会死机
stm32开了看门狗还是会死机的原因。
1、是否打开了某个中断,没有响应和清除中断标志,导致程序一直进入中断,造成死机假象。
2、中断变量处理不妥。