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

窗口看门狗代码不理解,如图为何用那个参数喂狗

小白爱32 2018-10-11 浏览量:1225

1.png

2.png

3.png




如上图红色框的部分,谁给我详细解释下,那个WWDG_CNT 参数是怎么起作用的?为什么要这么写?喂狗的话不应该是小于窗口值吗?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 窗口看门狗跟独立看门狗一样,也是一个递减计数器不断的往下递减计数,当减到一个固定值 0X40 时还不喂狗的话,产生复位,这个值叫窗口的下限,是固定的值,不能改变。这个是跟独立看门狗类似的地方,不同的地方是窗口看门狗的计数器的值在减到某一个数之前喂狗的话也会产生复位,这个值叫窗口的上限,上限值由用户独立设置。窗口看门狗计数器的值必须在上窗口和下窗口之间才可以喂狗,这就是窗口看门狗中窗口两个字的含义。

    1124920-20170727184147586-1988711209.png

    • 发布于 2018-10-11
    • 举报
    • 评论 2
    • 3
    • 0
小白爱32 回复了 Angel_YY:请问袁老师,我这个原理已经看明白了,不理解的是喂狗的值为什么是tr&WWDG_CNT?按说喂狗应该是WR和0x40之间取值啊 回复
Angel_YY 回复了 Angel_YY:tr&WWDG_CNT在这里只是让tr的取值不要超过0x7f这个最大值,其真实取值是tr的值 回复

其他答案 数量:10
  • 普通的看门狗,从启动一直到计时结束,整个时间段都可以喂狗

    窗口看门狗,就是喂狗时间有上下限,大于上限不行,小于下限还不行,必须在这个范围内,时间窗口内,窗口看门狗

    • 发布于2018-10-12
    • 举报
    • 评论 1
    • 1
    • 0
小白爱32 回复了 robe_zhang :我这个原理已经看明白了,不理解的是喂狗的值为什么是tr&WWDG_CNT?按说喂狗应该是WR和0x40之间取值啊 回复

  • 在规定时间范围内喂狗就是窗口看门狗,超过时间和不到时间都不行
    • 发布于2018-10-12
    • 举报
    • 评论 1
    • 0
    • 0
小白爱32 回复了 yhj416606438 :我这个原理已经看明白了,不理解的是喂狗的值为什么是tr&WWDG_CNT?按说喂狗应该是WR和0x40之间取值啊 回复

  • 窗口看门狗和普通看门狗的区别在于 窗口看门狗有两个时间限定,只有在这两个之间喂狗才能保证不被复位。

    其他时间喂狗是无效的(喂不进去)。

    这好比于有一个看门狗在看着一个房子,只要喂狗啦,就不报警

    普通的独立看门狗看的房子是栅栏式的,随时可以喂狗,只要不让狗饿了叫(复位)

    而窗口看门狗看的是一个封闭的只有一个在一定时间打开的房子(狗在房子里),你只能在窗口打开时通过窗口去喂狗,否则就喂不到,如果喂不到狗,狗饿了就会叫(复位)

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

  • 之所以实际的计数值是tr&WWDG_CNT ,只是一种保险容错的写法,因为前面把WWDG_CNT初始化为0x7f啦,而实际需要设置的值是tr,但如果不小心,tr值可能超过0x7F比如0x8F(它也是有效的u8值),所以加了这个保证数据不越界。
    • 发布于2018-10-12
    • 举报
    • 评论 3
    • 0
    • 0
小白爱32 回复了 xdsnet :对啊,中断里边直接用TR喂狗吗?不应该是用WR和0x40之间的值喂狗? 回复
小白爱32 回复了 小白爱32 :窗口看门狗初始化里边直接用的0x7F 回复
xdsnet 回复了 xdsnet :后面的WWDG_CNT已经是tr&0x7f的值啦。 回复

  • 这里的意思是,将窗口看门够的定时器值重置为初始值,这个值是自动递减的,减到0就触发复位
    • 发布于2018-10-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是设置你的窗口看门狗的阈值,这个阈值会自减
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是一个看门狗寄存器,里面的计数值会递减,然后减到0就会复位
    • 发布于2018-10-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里只是串口看门狗阈值设置,喂狗是要把计数器清除的。
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个操作是把你的看门狗进行赋值,这样可以直接用看门狗进行检测
    • 发布于2018-11-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个可以对你的看门狗进行阈值的设置,进行窗口的比较值
    • 发布于2018-11-15
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

窗口看门狗代码不理解,如图为何用那个参数喂狗