【stm32f103-学习笔记】测试看门狗
2016-08-12 22:57
197 查看
测试看门狗
开启看门狗,程序跑飞时,看门狗会复位系统,尝试恢复系统。主程序:
#include "...." int main(void) { fun_init(); //延时函数、其他外设初始化 IWDG_Init(6,350);//初始化并开启看门狗 while(1) { IWDG_Feed(); //喂狗 TASK_1(); //任务1 TASK_2();//任务2 } }
我的测试方法:
看门狗的时钟和主频不相同,设置使用外部晶振;在系统正常工作的时候用一根导线将晶振两只脚短接,主时钟没了,系统就相当于跑飞了,即没有正常喂狗;
恢复外部时钟一段时间后,按理应该是会产生看门狗复位;可是测试了几次后发现:系统经常会出现跑飞但系统并不重启的情况。
几经查找调试,在系统时钟初始化前 初始化看门狗,喂狗位置不变,按上文测试方法测试,测试通过
修改程序,将看门狗初始化位置修改:
..... extern IWDG_Init(6,350); void SystemInit (void) { IWDG_Init(6,350);//初始化并开启看门狗 ...//复位后程序最先执行的位置 ...//关于时钟的设置 } ....
分析:
短接晶振一段时间后,看门狗起作用,并使系统成功复位,但系统如果在设置主频时停住(没有外部时钟信号),则无法继续进行下一步,看门狗并没有在复位后被初始化,即便此时恢复外部时钟,系统已处于跑飞状态,看门狗失效。
相关文章推荐
- 学习EJB for JBoss3.2笔记(3)测试servlet
- 软件测试学习笔记--(关于排错)
- Struts 1 学习笔记-5-1(Struts中I18N的简单测试)
- 测试驱动的开发学习笔记
- ORACLE性能诊断―学习statspack笔记(一) [安装与测试]
- JUnit测试驱动开发学习笔记1
- Hibernate 学习笔记-1-2(测试Hibernate中session的生命周期以及CRUD)
- Struts 1 学习笔记-4-4(Struts中ActionForward的测试)
- Struts 1 学习笔记-3-3(JSTL格式化标签库测试)
- 软件测试学习笔记--(集成测试的内容)
- Spring学习以及测试程序笔记
- 软件测试与质量保证学习笔记(英)_UNIT1_Concept of Software Quality Assurance(原)
- Struts 1 学习笔记-4-1(Struts动态表单的测试以及上传文件的应用)
- J2EE学习笔记二:配置一个简单的J2EE测试环境
- Shell学习笔记之条件测试
- 测试驱动开发(tdd) 学习笔记(1)基本思想原则和术语
- Juint 3学习笔记2--自动全部测试
- Shell 编程学习笔记:条件测试
- 计算机软件测试技术学习笔记(整理)
- Struts 1 学习笔记-3-2(JSTL核心标签库测试)