继做了WWDG窗口看门狗试验后,继续进行第9个试验-IWDG独立看门狗试验,本试验经过设置窗口看门狗IWDG连续时刻来定时的查看是否犯错,在SysTick_Handler中止函数中加入了流水灯用来测验是否运行了IDWG看门狗程序,用PD6-LED2经过闪耀验证程序可行性,编程工程大致和USART试验进程差不多,先是敞开体系时钟,然后GPIO端口时钟,然后复用功用时钟AFIO,然后各个模块用的的时钟,,呵呵,之后进入各个模块初始化,设置,编写子程序,中止的话,要在中止函数中填写某模块的中止触发处理函数,重要的是在CONFG.H函数中敞开模块的声明,差不多是这样的了。
以下为IWDG函数首要部分:
//IWDG窗口看门狗设置初始化
void IWDG_Config(void)
{
}
***********************************************************
注意事项:
i. 有狗往常没工作能够不睬,可是千万别忘了喂它,不然死都不知道怎样死的!
ii. 初始化程序的调用必定要在systic的初始化之后。
iii. 独立看门狗需求systic中止来喂,可是systic做其他用途不能只做这件事,所以我写了如下几句代码,能够不影响systic的其他使用,其他systic周期代码也可参阅:
第一步:在stm32f10x_it.c中界说变量
int Tic_IWDG;
第二步:将SysTickHandler中喂狗代码改为下面:
Tic_IWDG++;
if(Tic_IWDG>=100)
{
}
完好代码为
void SysTick_Handler(void)
{
}
以下为IWDG函数成果部分: