ESP32 FreeRtos 看门狗

简介

说明:看门狗是针对Task任务

           Arduino-ESP32 默认在 Core 0 的 IDLE 任务开启了看门狗 时间为 5000 ticks = 5秒

           Core 0 和 Core 1 都运行了 FreeRTOS的IDLE任务,优先级为 0

           IDLE任务是用于清理被删除任务的内存

           Core 1 loopBack任务就是Arduino的 setup 和 loop 优先级为 1

需要注意的是ESP32在Arduino编译器内,是自动在核心0开启看门狗的,并自动进行喂狗。

待解决:程序中如何看所有开启看门狗的任务

ESP32使用看门狗流程:

1.创建看门狗

2.设定看门狗时间(Arduino上默认为5S)

3.进行喂狗

ESP32 FreeRtos架构

程序实现

看门狗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
FreeRTOS中的看门狗(Watchdog)是一种用于监视系统运行状态的机制。它是一个定时器,定期重置以防止系统死锁或崩溃。 在FreeRTOS中,看门狗的实现通常依赖于硬件定时器。它可以定期触发一个中断或者引起系统复位。当系统正常运行时,应用程序会定期重置看门狗定时器,以防止其超时。如果看门狗定时器超时未重置,则会触发看门狗中断或导致系统复位。 使用FreeRTOS看门狗功能,您需要进行以下步骤: 1. 配置硬件定时器:根据您的硬件平台和需求,配置一个适当的硬件定时器来作为看门狗定时器。 2. 创建看门狗任务:在FreeRTOS中创建一个专门的任务来重置看门狗定时器。该任务应按照预定的时间间隔重置看门狗定时器。 3. 启动看门狗:在系统初始化过程中,启动看门狗任务,使其开始工作。 4. 监控看门狗状态:在应用程序的其他任务中,可以通过检查看门狗的状态来监控系统的运行情况。如果看门狗超时未重置,则可以采取相应的措施,如记录错误信息或进行系统复位。 需要注意的是,看门狗定时器的时间间隔应根据系统的实际需求进行设置。如果时间间隔太短,可能会导致系统频繁复位;如果时间间隔太长,则可能无法及时检测到系统的死锁或崩溃情况。 以上是关于FreeRTOS看门狗的简要介绍,如果您有其他相关问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值