看门狗主要用于防止系统任务异常调度问题。如在某个任务或中断中运行过久、不能在规定时间内喂狗,可以被认定为异常,引起系统主动复位进行保护。rtos中通常设置一个最低优先级任务负责喂狗,如果最低优先级任务都能在规定时间内运行,就说明整个系统运行非常及时。
3861系统默认设置看门狗超时时间为30秒,可以在hi_config.h文件中如下宏定义修改看门狗超时时间。
#define PRODUCT_CFG_AUTO_WDG_RESET_SYSTEM_TIMEOUT 30000
我们通过一个死循环任务使系统触发看门狗超时引起的系统重启现象。代码如下,注意一定不要在死循环中调用延时函数,延时只能通过循环来实现。
看门狗任务如下,由任务信息可以看到看门狗idle任务优先级最低为31。
用户自定义看门狗超时时间需满足≥6500ms。用户也可调用hi_watchdog_set_timeout,动态设置看门狗超时时间,调用该接口后,看门超狗时时间计数将从0重新开始。如果编译过程中,出现看门狗自定义超时时间失败的错误,请检查自定义的时间是否低于6500ms,如低于则会产生编译错误,请设置超过6500ms 的自定义超时时间。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。