stm32看门狗中断,stm32独立看门狗无效

http://www.itjxue.com  2023-01-18 07:59  来源:未知  点击次数: 

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、中断变量处理不妥。

(责任编辑:IT教学网)

更多

相关XML/XSLT文章

推荐XML/XSLT文章