• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于看门狗和定时器中断的问题

小白爱32 2018-10-26 浏览量:1489
 我每0.5S进入一次定时器中断,并且在中断中进行看门狗喂狗。看门狗溢出时间为1S,这样我的看门狗不应该复位才对是吧? 另外我看资料说不要在中断中喂狗,那么喂狗合适的地方在哪儿呢?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 在"主程序喂狗论"中最"强有的理论依据"就是---"程序跑飞了可是中断不一定会死" (中断一般都有自己固定不变的中断向量地址这样即
    主程序飞中断也能正确地跳入自己的轨道继续运行.)
    可如果只在主程序喂狗,由于中断被无意关断那么主程序实际就只干傻喂狗功能这种不工作也不死的。
    所以建议:最好的办法是主程序和中断相结合的方法喂狗,这个需要根据实际程序中断的特点编写相应的喂狗功能(参考方法:在主循环内判
    中断进入标志(或中断进入次数)再喂狗.)。
    如果你没什么把握的话,还是建议只在主程序喂狗

    • 发布于 2018-10-27
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:10
  • 喂狗可以中断的,如果0.5是不会溢出的,除非代码有异常导致死机
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 在具体的工作处理中喂狗啊。这样工作处理是正常的,则狗就不会触发啊。
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 估计是你中断优先级问题,你可以在中断里加入标志,或者仿真观察一下数据
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 中断喂狗没有问题,喂狗操作不属于中断不会产生冲突,看门狗一秒复位,你定时器0.5秒喂狗,这是很合理的做法。

    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 喂狗一般都在主函数的while循环里
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 中断里面不允许喂狗,主要是怕程序卡死在中断里面,一般是放在主循环里面喂狗的
    • 发布于2018-10-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 喂狗函数一般都是在主函数里面执行,并不是在中断里面处理
    • 发布于2018-11-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断函数里面喂狗就没有意义了,这样不能监控你的程序运行状态
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 中断里面不能喂狗,要在主函数里面执行喂狗操作
    • 发布于2018-12-09
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于看门狗和定时器中断的问题