RTOS中使用看门狗
查看了网上很多关于如何在RTOS中使用看门狗的策略,其实每种策略都有其使用场景,下面主要提到的几种方式。
• 1、建立一个看门狗的定时任务,并将该任务定义为最低优先级。
这种方式需要保证看门狗定时器的溢出时间一般要足够长,且单片机不是经常满负荷运行。(保证CPU的使用权不是一直被高优先级的线程抢占)
• 2、建立一个看门狗的定时任务,并将该任务定义为最高优先级。
这种方式保证了喂狗的及时性,但是如果只有低优先级的任务死了(经历少,倒是没遇到过),这种方式下的看门狗就起不到作用。
• 3、多任务监测实现思路
将看门狗“喂狗”置于最高优先级,每个任务(或者某几个重要的任务)定时向看门狗任务法消息,如果看门狗任务在一定时间内收全其他任务发来的消息才喂狗。这保证了能够监测尽量多的任务。
RTOS中使用看门狗
查看了网上很多关于如何在RTOS中使用看门狗的策略,其实每种策略都有其使用场景,下面主要提到的几种方式。
• 1、建立一个看门狗的定时任务,并将该任务定义为最低优先级。
这种方式需要保证看门狗定时器的溢出时间一般要足够长,且单片机不是经常满负荷运行。(保证CPU的使用权不是一直被高优先级的线程抢占)
• 2、建立一个看门狗的定时任务,并将该任务定义为最高优先级。
这种方式保证了喂狗的及时性,但是如果只有低优先级的任务死了(经历少,倒是没遇到过),这种方式下的看门狗就起不到作用。
• 3、多任务监测实现思路
将看门狗“喂狗”置于最高优先级,每个任务(或者某几个重要的任务)定时向看门狗任务法消息,如果看门狗任务在一定时间内收全其他任务发来的消息才喂狗。这保证了能够监测尽量多的任务。
举报