测试看门狗
开启看门狗,程序跑飞时,看门狗会复位系统,尝试恢复系统。
主程序:
我的测试方法:
看门狗的时钟和主频不相同,设置使用外部晶振;在系统正常工作的时候用一根导线将晶振两只脚短接,主时钟没了,系统就相当于跑飞了,即没有正常喂狗;
恢复外部时钟一段时间后,按理应该是会产生看门狗复位;可是测试了几次后发现:系统经常会出现跑飞但系统并不重启的情况。
几经查找调试,在系统时钟初始化前 初始化看门狗,喂狗位置不变,按上文测试方法测试,测试通过
修改程序,将看门狗初始化位置修改:
分析:
短接晶振一段时间后,看门狗起作用,并使系统成功复位,但系统如果在设置主频时停住(没有外部时钟信号),则无法继续进行下一步,看门狗并没有在复位后被初始化,即便此时恢复外部时钟,系统已处于跑飞状态,看门狗失效。
测试看门狗
开启看门狗,程序跑飞时,看门狗会复位系统,尝试恢复系统。
主程序:
我的测试方法:
看门狗的时钟和主频不相同,设置使用外部晶振;在系统正常工作的时候用一根导线将晶振两只脚短接,主时钟没了,系统就相当于跑飞了,即没有正常喂狗;
恢复外部时钟一段时间后,按理应该是会产生看门狗复位;可是测试了几次后发现:系统经常会出现跑飞但系统并不重启的情况。
几经查找调试,在系统时钟初始化前 初始化看门狗,喂狗位置不变,按上文测试方法测试,测试通过
修改程序,将看门狗初始化位置修改:
分析:
短接晶振一段时间后,看门狗起作用,并使系统成功复位,但系统如果在设置主频时停住(没有外部时钟信号),则无法继续进行下一步,看门狗并没有在复位后被初始化,即便此时恢复外部时钟,系统已处于跑飞状态,看门狗失效。
举报