- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ESP32 DEVKIT link和 Adafruit VS1053 编解码器 + MicroSD Breakout - MP3/WAV/MIDI/OGG Play + Record - v4 link录制然后播放声音。我正在使用 Arduino IDE 进行编码。
我现在面临一个问题,该模块使用硬件中断进行播放。但是当我尝试播放音轨时,ESP32 会一次又一次地重置。调试日志说:
Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
Core 1 register dump:
PC : 0x400d1280 PS : 0x00060834 A0 : 0x800d128f A1 : 0x3ffc0bb0
A2 : 0x3ffc241c A3 : 0x3ffb1f20 A4 : 0x800d1779 A5 : 0x3ffb1f00
A6 : 0x3ffc241c A7 : 0x3f400f9c A8 : 0x800d1280 A9 : 0x3ffc0b90
A10 : 0x0000002b A11 : 0x3f401067 A12 : 0x800d1691 A13 : 0x3ffb1ed0
A14 : 0x3ffc241c A15 : 0x00000000 SAR : 0x0000001f EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x400014fd LEND : 0x4000150d LCOUNT : 0xffffffff
Core 1 was running in ISR context:
EPC1 : 0x400d4123 EPC2 : 0x00000000 EPC3 : 0x00000000 EPC4 : 0x400d1280
Backtrace: 0x400d1280:0x3ffc0bb0 0x400d128c:0x3ffc0bd0 0x40080e21:0x3ffc0bf0 0x400817d5:0x3ffc0c10 0x400d3ae5:0x00000000
Core 0 register dump:
PC : 0x400ee86e PS : 0x00060934 A0 : 0x8008656c A1 : 0x3ffc7910
A2 : 0x00000008 A3 : 0x00000000 A4 : 0x00000001 A5 : 0x3ffc7f4c
A6 : 0x00000000 A7 : 0x00000001 A8 : 0x3ffc3404 A9 : 0x3ffc33e8
A10 : 0x00000000 A11 : 0x00000001 A12 : 0x00000000 A13 : 0x00000001
A14 : 0x00060b20 A15 : 0x00000000 SAR : 0x00000000 EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace: 0x400ee86e:0x3ffc7910 0x40086569:0x3ffc7930
Rebooting...
ets Jun 8 2016 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:952
load:0x40078000,len:6084
load:0x40080000,len:7936
entry 0x40080310
Adafruit VS1053 Simple Test
VS1053 found
Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
表示其中断 wdt。
esp_int_wdt.h
在
~Documents\Arduino\hardware\espressif\esp32\tools\sdk\include\esp32
提供两个函数来为两个或一个 CPU 启用中断 WDT。没有禁用它的功能。
最佳答案
#include "soc/rtc_wdt.h"
rtc_wdt_protect_off();
rtc_wdt_disable();
或者在 menuconfig 中关闭它。我同意其他海报,但你不应该关闭它,相反,你也可以使用以下功能提供它:
rtc_wdt_feed();
我通常会创建一个优先级最低的 FreeRTOS 任务,该任务只是循环并以小于超时的延迟调用 feed 方法,从而为更高优先级的“业务逻辑”提供足够的时间来运行。例子:
rtc_wdt_set_length_of_reset_signal(RTC_WDT_SYS_RESET_SIG, RTC_WDT_LENGTH_3_2us);
rtc_wdt_set_stage(RTC_WDT_STAGE0, RTC_WDT_STAGE_ACTION_RESET_SYSTEM);
rtc_wdt_set_time(RTC_WDT_STAGE0, 250);
然后在您的任务中执行此操作:
while(true) {
rtc_wdt_feed();
vTaskDelay(pdMS_TO_TICKS(100));
}
这将同时提供 FreeRTOS WDT 和 RTC WDT,并在系统陷入循环或未在您的时间要求内进行处理时重置您的系统。您需要调整超时时间以及为计时器提供的频率,以使其适合您的系统。请记住,Wifi、PHY 和 BT 不是确定性的,因此如果您在时间上有很多不可预测性依赖于来自“网络”的 DAQ。
关于arduino - 如何在 ESP32 中禁用 'interrupt watchdog' 或增加 ISR 时间限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750377/
我安装了看门狗,但尝试运行任何代码都不起作用。我收到那个错误信息。这是代码片段。有想法该怎么解决这个吗? 最佳答案 嗯,这是使用 Python 包时一个非常古老和常见的问题。您将文件命名为 watch
前言 在平时的开发中随着我们系统应用不断地迭代变的复杂,对应用的实时监控变得越来越重要。实时监控不仅可以帮助我们快速定位问题,还能在出现问题时及时采取措施,减少业务中断的时间。 本文将介绍一个名为
在python中文件监控主要有两个库,一个是pyinotify ( https://github.com/seb-m/pyinotify/wiki),一个是watchdog(http://pytho
项目介绍 WatchDog是一个开源(MIT License)、免费、针对ASP.Net Core Web应用程序和API的实时应用监控系统。开发者可以实时记录和查看他们的应用程序中的消息、事件、H
我有一个简单的 Watchdog 和 Queue 进程来监视目录中的文件。 代码取自 https://camcairns.github.io/python/2017/09/06/python_watc
来自Watchdog Quickstart ,我可以看到所有事件,例如修改文件夹、删除文件、创建文件等。但是,我只想查看文件何时创建。我必须更改什么才能只看到创建的文件? import sys imp
我正在使用看门狗来监视目录(和子目录)中创建的文件。如果创建的文件是 .csv,程序将读取它们(并对文件进行一些小的更改,但这实际上不是问题的一部分)。问题是有时 readlines() 返回一个空列
在 Ubuntu 上运行,每次我创建一个文件时,我都会得到一个修改和创建的事件。 这是设计使然还是我做错了什么? 我正在使用事件处理程序类 PatternMatchingEventHandler ev
使用/dev/watchdog 似乎只对监视另一个进程有效,因为在编译内核时没有设置 CONFIG_WATCHDOG_NOWAYOUT 选项,监视/看门狗进程中的崩溃将导致操作系统清理并关闭文件。从而
系统启动过程图: framework层所有的service都是运行在systemserver进程中;systemserver进程是由zygote进程创建。 systemserver进程
我正在运行以下代码,该代码在 Python 中实现 WatchDog 来监视文件更改。我试图跟踪日志文件 (DoNotDelete.txt) 中的所有更改,因此我试图忽略代码中的此 DoNotDele
我无法使用设备/dev/watchdog,因为有东西正在使用它。 echo 1 > /dev/watchdog -> Ressource busy 测试(以 root 身份): ls crw-rw-r
每次修改某个文件时,我都尝试启动一个 python 脚本。准确地说,我在 Raspberry Pi 的串行端口上有一个设备,它将数据写入文本文件 (test.txt)。我已经尝试过这两种工具 - Wa
我正在尝试实现大致如下所示的服务关系: {ACTIVITY} -> {SERVICE1} -> {SERVICE2} ACTIVITY 启动 SERVICE1,然后启动 SERVICE2。 SERVI
我有系统服务。我想为此实现一个看门狗。 就像 [Unit] Description=Watchdog example service [Service] Type=notify Environment
我正在实现一个 ruby 服务器来处理从 GPRS 模块创建的套接字。问题是当模块掉电时,没有迹象表明 socket 已关闭。 我正在做线程来处理同一个服务器的多个套接字。我要问的是:有没有办法在
我不想启用 linux onedrive 服务,因为我注意到它对我的 cpu 来说很吃力,所以我宁愿按需运行它。这就是为什么我试图创建一个小脚本,仅当我访问 OneDrive 目录时才会运行一次 on
我一直在使用 tkinter 组合看门狗模块来处理一些上传请求。大多数时候它工作正常,但有时我们的网络驱动器会不稳定并断开连接一段时间。但是我无法找到捕获此错误的正确位置。 from watchdog
我是这个论坛的新手,想请教专家一个问题。我写了下面的程序(一个更大的东西的一部分,但这是给我带来麻烦的代码) #include #include int main() { int fd;
我对使用 iOS 崩溃日志有些陌生 - 我非常熟悉基于应用程序的崩溃日志,因为它们很容易被符号化,但我仍在尝试弄清楚如何读取生成的日志看门狗超时。明确地说,这些超时是由我正在编写的通知中心小部件引起的
我是一名优秀的程序员,十分优秀!