FreeRTOS使用看门狗的步骤

电子说

1.3w人已加入

描述

FreeRTOS可以建立很多任务,假如有某种问题使得某一任务一直在执行,不释放资源。到一定时间后,看门狗会自动进行系统复位。看门狗,又叫 watchdog,从本质上来说就是一个定时器。将任务交给看门狗看管后,看门狗会不断的观察任务,如果任务不在指定时间内喂狗。那么,定时器到0,然后狗慌了,ESP32 就自动重启。注意模拟器没有实现看门狗功能,请大家粘贴上传到自己的ESP32开发版上运行。ESP32的两个内核都有自己的看门狗。使用看门狗的步骤:1)要先将任务注册到看门狗中。2)设置倒计时时间。3)喂狗ESP32的两个核心内部默认都封装了IDLE任务,此任务相当于是倒垃圾的,用来释放资源,时间是5S。核心0在IDLE任务中,默认是开启了看门狗,如果5S内不执行到此任务,ESP32就会重启。

FreeRTOS

添加看门狗esp_task_wdt_add()

喂食esp_task_wdt_reset()

关闭看门狗disableCore0WDT()

FreeRTOS

FreeRTOS

在setup loop任务中添加看门狗示例:

FreeRTOS

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分