请教一个有趣的问题:在UCOSII中,还需要使用看门狗吗?如果要用,可怎么去喂这条狗?

2019-07-21 00:35发布

 大家知道,UCOSII中的各项执行任务都是个死循环,各项任务的切换都是靠自身的优先级来进行;

 而看门狗是在正常执行程序中,去喂它,使它不会溢出,而产生复位动作。但如果程序跑飞了,进入死循环,没有在一定的时间去喂它,

就会产生复位动作,使程序重新启动初始化,恢复正常工作。可在UCOSII中,各个任务本身就是个死循环,它们自己就有个专用震荡器,这还用

使用看门狗吗?如果要用,这条狗怎么去喂它,是在各项任务里,添一条喂狗指令?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
30条回答
sjEE
1楼-- · 2019-07-21 00:40
 精彩回答 2  元偷偷看……
745021926
2楼-- · 2019-07-21 01:04
默认是不开看门狗的,你确实需要检测程序正常运行的话,可以新建一个程序状态检测的进程
聚东风
3楼-- · 2019-07-21 01:32
回复【2楼】745021926:

默认是不开看门狗的,你确实需要检测程序正常运行的话,可以新建一个程序状态检测的进程

---------------------------------
回复【2楼】745021926:
---------------------------------
任务都飞了,进程有用?给喂狗专门开一个最高优先级任务才对
聚东风
4楼-- · 2019-07-21 02:05
 精彩回答 2  元偷偷看……
yxylxj
5楼-- · 2019-07-21 05:31
多任务下喂狗 没那么简单,哪怕是你最高优先级任务下 喂狗 也是有问题的。最高优先级的任务如果是在运行的, 狗就没用了,其他任务如果有任务跑飞了呢?
dong
6楼-- · 2019-07-21 06:33
以上各位大师都说出个人观点,很有意思,看来在UCOSII里这条狗还是不还好伺候的,,在最高优先级下喂狗

最高优先级的任务如果是在运行的, 狗也是没用了...........

    那么在UDOSII的情况下,干脆不用这条狗?程序会跑飞吗?欢迎各位朋友继续讨论,越辩越明,对大家编程序都有好处。

    也希望原子老师谈谈你的观点,在UCOSII的程序里,是否需要设看门狗,不用它是否可行?

一周热门 更多>