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

看门狗喂狗代码要加在哪里, 定时器吗?

lichangle 2018-09-28 浏览量:3735
看门狗喂狗代码要加在哪里 定时器吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 喂狗程序应该在正常的程序逻辑处理过程中添加。

    比如普通嵌入系统main的while循环中,比如while中的第一项子任务就是喂狗。

    这样才能保证在正常时狗一直不触发(因为喂狗啦),而其中有问题后因为不能正常喂狗则狗会触发。

    • 发布于 2018-09-28
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:18
  • 看门狗这东西看需求,如果要求比较高,需要好好研究下都在哪里喂狗。

    定时器喂狗不太好吧,定时器是中断,这个狗应该一直没问题吧

    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 就是在你设定的时间内没有喂狗的话开始软件复位,在while循环里就可以
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 通常是在前后台系统中的后台,也就是main函数的主循环中进行喂狗。嵌入式软件中的主函数main中通常会有for循环或者while循环,来重复执行某些语句,计算好每次循环的最大时间间隔,看门狗的复位时间设置的大于每次循环的最大时间长度,在循环中进行喂狗,就能实现看门狗的简单应用了。
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 看门狗是一个特殊的定时器,在看门狗定时器服务函数里喂狗
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 主程序一般有个无限循环while(1){...}
    WDT初始化程序应该放在这个循环的前面;
    喂狗程序一般放在这个循环内部。如:
    void main(void)
    {
    //其他初始化程序...
    Init_WDT;
    while(1)
    {
    Feed_Dog;
    //doing your jog
    };
    }
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 主程序一般有个无限循环while(1){...}
    WDT初始化程序应该放在这个循环的前面;
    喂狗程序一般放在这个循环内部。
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 主程序一般有个无限循环while(1){...}
    WDT初始化程序应该放在这个循环的前面;
    喂狗程序一般放在这个循环内部。
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 主程序一般有个无限循环while(1){...}
    WDT初始化程序应该放在这个循环的前面;
    喂狗程序一般放在这个循环内部。
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 看门狗喂狗一般是放在主循环中
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 哪里需要看门狗就在哪里启用看门狗,在哪里喂狗。

    比如你要读写一个 iic 器件, 他可能会让程序跑飞, 读写之前就要开启看门狗, 读写一会喂一次狗,正常读写都没问题,用完再关了。如果不正常,程序跑飞就不会喂狗了,然后看门狗超时就会让单片机重启

    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 硬件看门狗可以理解为一个定时器,隔一段时间要去清空一下,如果溢出可以理解为狗饿了,就得喂狗,也就是清零定时器,不然就会产生中断,一般都是重启!
    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 看门狗喂狗是通过配置喂狗寄存器来配置的,跟定时器没有任何关系,喂狗操作可以出现在程序的任何地方。

    • 发布于2018-09-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 看门狗喂狗的位置一般是放在主循环里面,且按照个人经验,一个程序里面最好只有一处喂狗,放主循环的目的就是确保主循环能正常运行
    • 发布于2018-10-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 看门狗一般都是放在主函数中,在主函数中进行轮询喂狗
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 看门狗喂狗的代码应该加载处理业务逻辑的主循环中,这样主循环如果出现问题不能及时喂狗,才会导致看门狗复位重启系统。
    • 发布于2018-10-25
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

看门狗喂狗代码要加在哪里, 定时器吗?