RTOS 系统篇-看门狗 WatchDog 2

概述

上一节在 RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你] 讲解了 看门狗的基本原理,以及任务、中断中触发看门狗的原因、解决方法。

本小节承接上节,主要讨论如何将一个任务加入到看门狗,并及时喂狗。读者可参考示例的用法,理解其基本使用,并在自己使用的平台上找到类似的 API 来学习研究。

ESP-IDF 中的任务看门狗

任务看门狗(TWDT)是围绕定时器组0中的硬件看门狗定时器构建的。

TWDT 可以通过调用 esp_task_wdt_init() 来初始化,它将配置硬件计时器。

然后,任务可以使用 esp_task_wdt_add()添加到任务看门狗监控队列,以便被监视。

每个添加到任务看门狗的任务必须定期调用 esp_task_wdt_reset()来重置TWDT。任何添加到任务看门狗的任务若调用 esp_task_wdt_reset() 时返回失败,则表示当前的任务卡在调用该函数前的某个循环中,或者一个或多个任务在长期占用 CPU,使得当前函数没有机会运行 esp_task_wdt_reset()

可以使用 esp_task_wdt_delete() 将任务从任务看门狗监控队列中移除。一旦所有任务都从 TWD

RTOS 系统篇-看门狗 WatchDog 2相关推荐

  1. RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你]

    RTOS 系统篇-看门狗 WatchDog[不喂狗就咬你] 概述 程序设计完成后,要开始考虑系统整体的稳定性了. 在设备上线后,可能因为程序设计不合理.硬件设计有 bug,电气干扰.静电噪声.电源故障 ...

  2. Linux 软件看门狗 watchdog

    Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序.内核 watchdog 模块通过 /dev ...

  3. Linux 软件看门狗 watchdog 喂狗

    Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog程序.内核 watchdog 模块通过 /dev/ ...

  4. 什么是看门狗(watchdog)?看门狗有什么作用?

    什么是看门狗(watchdog) 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂 ...

  5. 什么是看门狗(watchdog)

    什么是看门狗(watchdog) 看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂 ...

  6. Android 中的看门狗—Watchdog

     Android 中的看门狗-Watchdog 一.SystemServer 进程中初始化.启动看门狗............................................... ...

  7. RTOS 系统篇-多任务协同与复杂消息的设计

    RTOS 系统篇-多任务协同与复杂消息的设计 概述 对嵌入式系统的功能进行"任务划分",是 RTOS 中软件设计的关键.当任务划分比较合理时,整体的软件设计就会比较简洁.高效.容易 ...

  8. python看门狗(watchdog)、多线程、实现文件夹实时监听、日志输出、备份

    python看门狗(watchdog).多线程.实现文件夹实时监听.日志输出.备份 代码展示 import _thread from watchdog.observers import Observe ...

  9. RTOS 系统篇-Tickless 模式简介与测试

    RTOS 系统篇-Tickless 模式简介与测试 概述 上节讲述了统计RTOS 系统中 CPU 利用率的方法.在 CPU 空闲时,将进入空闲任务.在一些简单的应用中,设备的大部分时间都在执行空闲任务 ...

最新文章

  1. HTML5怎么让图片和文字重叠,利用HTML5实现全屏图片文字过渡切换特效
  2. touchWX 自定义组件以及传值
  3. sum服务器操作系统,SUM服务器监控软件
  4. el-table列宽设置百分比无效;el-table使用min-width设置百分比;el-table百分比设置无效;
  5. 样本分布不平衡,机器学习准确率高又有什么用?
  6. Java笔记-通过反射获取注解及Spring中获取某包下的所有class文件
  7. 基于Java和Bytemd用120行代码实现一个桌面版Markdown编辑器
  8. html5 圆形加载进度条,纯css3超酷圆形Loading加载进度条特效
  9. [历朝通俗演义-蔡东藩-前汉]第008回 葬始皇骊山成巨冢 戮宗室豻狱构奇冤
  10. Python基础(7) - 函数
  11. QT 连接 MySQL 失败:手动编译 MySQL 驱动插件
  12. 紫荆花开之say love to the girl you love
  13. 灵活使用手机之-手机服务器和客户端
  14. 组原5_指令流水线影响因素和流水线分类
  15. 360html怎么保存,360浏览器网页怎么保存电脑桌面上
  16. 巴西龟饲养日志----肺炎治疗情况
  17. cortex m3/m4处理器的复位设计
  18. Android view 部分 setContentView 的前因后果
  19. xlsx 导出 多级表头数据
  20. for循环和while循环哪个效率更高

热门文章

  1. [C语言]Pow函数的实现
  2. thinkpad T400 X301 X230 T510 w500 W530 dell6400 dell1420 e6320 e6420 M6800 X201expresscard扩展nvme盘
  3. swipecell样式_反馈组件 SwipeCell 滑动单元格 - 闪电教程JSRUN
  4. php 招聘要求 转载
  5. 消费者洞察案例分析_情绪搜索洞察定时器案例研究
  6. 2021最新最全前端面试题(包含HTML、CSS、JavaScript、Vue、React、浏览器、算法与数据结构等)
  7. 小型温控系统c语言程序,pid算法温度控制c语言程序 - 全文
  8. 【小沐学qt】生成二维码
  9. FFC1000系列全频带微波超宽带上下变频器
  10. Android开发最近新闻和功能都在这里了