原文:在中断服务函数中使用FreeRTOS系统延时函数vTaskDelay导致看门狗复位的情况

问题 控制程序工作一段时间异常重启 分析 经定位分析重启原因为看门狗复位导致 解决 经排查发现在中断服务函数中使用了FreeRTOS的系统时延函数vTaskDelay,调试发现进入vTaskDelay函数后,会在函数xTaskResumeAll中进入临界段函数, 进而发现程序会卡死在下面代码处: 上边代码表示发生一次嵌套调用时,会断言检查是否是中断调用,因为vTaskDelay不支持中断调用,所 ...

2019-04-09 15:52 0 1594 推荐指数:

查看详情

如何使用看门狗

从一开始设计单片机程序以来我一直在问自己看门狗究竟应该如何使用?并不断的寻找权威答案。以下谈一下个人在这些年来对看门狗应用相关的一些思考和观点,错误不可避免,愿讨论并改正。1. 什么是单片机的程序跑飞? 什么是单片机的死机?所谓的程序跑飞是指 CPU 程序寄存器PC 异常改变,从而CPU 不按预定 ...

Tue Sep 04 01:01:00 CST 2012 0 3628
Arduino 看门狗使用

1.需要调用 2.设置看门狗复位时间 代码时间定义的底层查看 3.喂狗操作 4.关闭看门狗 测试代码: ...

Fri Sep 18 01:32:00 CST 2015 1 2466
STM32F4 窗口看门狗WWDG【使用函数

窗口看门狗(WWDG)用于发现由外部接口或者不可预期的逻辑操作导致的软件故障。这些故障会导致程序中断正常运行。当一个程序周期结束时,看门狗电路会产生一个MCU复位信号,除非在看门狗电路复位之前程序返回正常运行逻辑。当计数器减少到预设值的时候,也会产生一个复位信号。这就意味着计数器必须限制在一个指定 ...

Wed May 29 19:07:00 CST 2013 0 4876
在多任务(RTOS)环境中使用看门狗

最近在SEGGER的博客上看到一篇有关在实时操作系统使用看门狗的文章。从一个失败的太空项目出发,分析了看门狗的作用及使用,自我感觉很有启发,特此翻译此文并推荐给各位同仁。为了阅读方便,有些航天领域名词本人添加了注释,读者也可自行搜索更详细的解释。当然限于个人水平,有不当之处恳请指正 ...

Fri Sep 01 18:14:00 CST 2017 0 1516
STM32F4 独立看门狗IWDG【使用函数

为了提搞系统的可靠性,STM32F4系列MCU有一个独立看门狗(IWDG)和一个窗口看门狗(WWDG)。今天做的实验是关于独立看门狗的。 独立看门狗使用的时钟源是内部低速振荡器LSI。因为LSE可能没接,HSE可能坏点,HSE耗着的时候HSI却观点了。。。诸多原因,LSI是最好的独立看门狗时钟 ...

Wed May 29 00:42:00 CST 2013 0 7805
解决esp32看门狗复位的问题

在esp32程序中freeRTOS任务运行的时候经常都会遇到看门狗复位的问题,会在日志中打印类似如下的消息: E (36942) task_wdt: Task watchdog got triggered. The following tasks did not reset ...

Thu Apr 21 01:12:00 CST 2022 0 709
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM