喂狗在操作系统(rtos)上面的正确用法 喂狗在操作系统(rtos)上面的正确用法。不能在定时器喂狗也不能在idle任务喂狗也不能用定时任务去喂狗。因为会出现其他任务都卡死了但喂狗还在执行。应该检查所有任务都没有卡死才能喂狗。示例程序如下。//不能在定时器喂狗也不能在idle任务喂狗也不能用定时任务去喂狗。因为会出现其他任务都卡死了但喂狗还在执行。//默认1s1000 tick hz。如果要用ms延时请加上对应的宏。//假设tick类型为32位。//如果某个任务卡死。那么会出现不喂狗。长时间不喂狗会硬件重启。//如果某些出现死锁现象。也就是执行不到最后心跳停止。那么也会检测到心跳异常出现不喂狗。长时间不喂狗会硬件重启。//演示值实际值为除喂狗任务外所有任务的数量值。#defineN8//心跳数组。除喂狗任务外所有任务。volatileuint32_ttaskHeartBeat[N]{0};//具体任务1任务优先级1。voidtaskXXX(void*pv){while(1){//判断是否需要执行功能。if(flag){//执行完所需的操作就设置心跳。//由于是示例程序只有一个任务所以下标是0。每一个任务都有一个对应的下标。taskHeartBeat[0]xTaskGetTickCount();xTaskDelay(10);}else{//只设置心跳taskHeartBeat[0]xTaskGetTickCount();//由于是示例程序只有一个任务所以下标是0。每一个任务都有一个对应的下标。xTaskDelay(10);}}}//喂狗任务任务优先级1。voidtaskWatchDog(void*pv){//这个只是示例具体请参考看门狗超时时间的设置和手册。constuint32_ttimeOut1000;//uint32_ti0;while(1){//uint32_ttickxTaskGetTickCount();//loop全部任务除喂狗任务外。// 用临界区防止检查过程中被高优先级任务抢占更新心跳taskENTER_CRITICAL();// 或 vTaskSuspendAll() / xTaskResumeAll()for(i0;iN;i){if(tick-taskHeartBeat[i]timeOut)break;}taskEXIT_CRITICAL();//全部检查完没有一个任务出现超时或卡死。if(iN){//喂狗freeDog();}//如果i!N不喂狗。多次后自动触发硬件复位。//这个时间要比超时时间要小一般是超时时间的/2或/3。xTaskDelay(300);}}

相关新闻

最新新闻

为什么选reference-apps?3个理由告诉你如何系统学习Apache Spark

为什么选reference-apps?3个理由告诉你如何系统学习Apache Spark

为什么选reference-apps?3个理由告诉你如何系统学习Apache Spark 【免费下载链接】reference-apps Spark reference applications 项目地址: https://gitcode.com/gh_mirrors/re/reference-apps 想要系统学习Apache Spark,很多人卡在了"API文…

2026/8/16 15:39:31
PLC 梯形图编程实战:简思 SFm 三步搭出电机正反转互锁程序

PLC 梯形图编程实战:简思 SFm 三步搭出电机正反转互锁程序

PLC 梯形图编程实战:简思 SFm 三步搭出电机正反转互锁程序 电机正反转是 PLC 入门绕不开的经典程序。正转、反转两个方向,中间必须加互锁,不然两个方向的接触器同时吸合,直接就是短路事故。用简思 SFm 系列 PLC 来写这个程序&…

2026/8/16 15:39:31
互联网大厂 Java 面试实录:Spring Boot + Kafka + Redis + RAG 的业务追问,燕双非翻车现场

互联网大厂 Java 面试实录:Spring Boot + Kafka + Redis + RAG 的业务追问,燕双非翻车现场

互联网大厂 Java 面试实录:Spring Boot Kafka Redis RAG 的业务追问,燕双非翻车现场场景:互联网大厂 Java 求职者面试,业务方向为本地生活服务 智能客服系统 AIGC,候选人燕双非,风格:能答简…

2026/8/16 15:39:31
给DeepSeek Harness插件装上“安检门“:dsh-plugin-audit的设计与实践

给DeepSeek Harness插件装上“安检门“:dsh-plugin-audit的设计与实践

安装一个第三方插件,本质上是一次授权——授权它读你的文件、连它的服务器、动你的凭证。问题是:你真的知道它要什么权限吗? 为什么写这个插件 DeepSeek Harness(DSH)的插件生态正在长大:雷达站 awesome-d…

2026/8/16 15:39:31
FastCSV 完全指南:为什么它是 Java 开发者首选的 90KB 高性能 CSV 库?

FastCSV 完全指南:为什么它是 Java 开发者首选的 90KB 高性能 CSV 库?

FastCSV 完全指南:为什么它是 Java 开发者首选的 90KB 高性能 CSV 库? 【免费下载链接】FastCSV Fast, lightweight, and RFC 4180 compliant CSV library for Java. Zero dependencies, ~90 KiB. Trusted by Apache NiFi, JUnit, and Neo4j. 项目地址…

2026/8/16 15:39:31
gibMacOS 实战手册:不碰 Mac 也能直连 Apple 目录,三分钟拉回 macOS 安装文件

gibMacOS 实战手册:不碰 Mac 也能直连 Apple 目录,三分钟拉回 macOS 安装文件

gibMacOS 实战手册:不碰 Mac 也能直连 Apple 目录,三分钟拉回 macOS 安装文件 【免费下载链接】gibMacOS Py2/py3 script that can download macOS components direct from Apple 项目地址: https://gitcode.com/gh_mirrors/gi/gibMacOS gibMacOS…

2026/8/16 15:34:31