大家知道,UCOSII中的各项执行任务都是个死循环,各项任务的切换都是靠自身的优先级来进行;
而看门狗是在正常执行程序中,去喂它,使它不会溢出,而产生复位动作。但如果程序跑飞了,进入死循环,没有在一定的时间去喂它,
就会产生复位动作,使程序重新启动初始化,恢复正常工作。可在UCOSII中,各个任务本身就是个死循环,它们自己就有个专用震荡器,这还用
使用看门狗吗?如果要用,这条狗怎么去喂它,是在各项任务里,添一条喂狗指令?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
窗口看门狗的窗口(最小最大超时表)分为四档:
最小: 113us, 最大: 7.28ms
最小: 227us, 最大: 14.56ms
最小: 455us, 最大: 29.12ms
最小: 910us, 最大: 58.25ms
根据极值条件,如果按却换频率3到5ms,支持十几个任务是没问题的,
具体窗口的上下限大小,需要实际测量每个任务的时间来调整。
-----------------------------------------------------------------------------------------------------------
谢谢施教!
其他朋友继续参入讨论啊。
一周热门 更多>