标题: 单片机程序运行过程中,几分钟后,所有中断进不去,只执行看门狗刷新,复位后才能恢复正常 [打印本页]

作者: 3346661547    时间: 2021-9-6 20:12
标题: 单片机程序运行过程中,几分钟后,所有中断进不去,只执行看门狗刷新,复位后才能恢复正常
程序运行过程中,几分钟后,所有中断进不去,只执行看门狗刷新,复位后才能恢复正常,死机后只执行红线圈住的地方。

1630929734162_575FC99C-223A-4915-AE23-C7D61DAAB622.png (21.12 KB, 下载次数: 177)

1630929734162_575FC99C-223A-4915-AE23-C7D61DAAB622.png

作者: 188610329    时间: 2021-9-6 21:47
你整个 While(1) 只有你红圈圈住的地方, 只执行红圈圈住的地方完全没有问题啊,何来死机?
作者: npn    时间: 2021-9-7 06:51
可能有程序跑飞,不要在中断内或被中断调用的函数喂看门狗。
作者: munuc_w    时间: 2021-9-7 08:24
沙发说的没错。
作者: TTQ001    时间: 2021-9-7 08:28
while无限循环只包含看门狗,所以程序只执行看门狗逻辑。
作者: 3346661547    时间: 2021-9-7 10:03
188610329 发表于 2021-9-6 21:47
你整个 While(1) 只有你红圈圈住的地方, 只执行红圈圈住的地方完全没有问题啊,何来死机?

所有中断都进不去了,调试的时候只能执行红圈圈住的地方,进入 if 语句的条件是能进定时器中断
作者: 3346661547    时间: 2021-9-7 10:06
npn 发表于 2021-9-7 06:51
可能有程序跑飞,不要在中断内或被中断调用的函数喂看门狗。

没有在中断内喂狗,用了中断监控硬件I2C状态
作者: 3346661547    时间: 2021-9-7 10:07
TTQ001 发表于 2021-9-7 08:28
while无限循环只包含看门狗,所以程序只执行看门狗逻辑。

所有中断都不去了,现在测程序要10几分钟才会进入这样的状态

作者: glinfei    时间: 2021-9-7 10:39
贴的程序不全啊,只是看这几句程序,当然没问题了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1