我在使用 esp32 在 arduino 中执行简单任务时遇到此看门狗定时器错误
I am getting this watchdog Timer error while doing a simple task in arduino with esp32
我看到很多论坛讨论了这个问题,但似乎没有任何效果。我正在使用 esp32,一切都很好,直到突然出现这个看门狗计时器错误。我是新手,所以我无法真正解决这个问题。
我有另一个代码,但我复制了其中的一个非常简单的块并创建了一个新文件,但看门狗计时器错误也出现在这里。我不知道是什么问题。
它说 idle0 没有重置 watach 狗定时器,"wifi" 任务是 运行 在 cpu0.
错误日志
E (42418) task_wdt: 任务看门狗被触发。以下任务没有及时重置看门狗:
E (42418) task_wdt: - IDLE0 (CPU 0)
E (42418) task_wdt:当前任务 运行:
E (42418) task_wdt: CPU 0: wifi
E (42418) task_wdt: CPU 1: IDLE1
E (42418) task_wdt:中止。
在核心 0
上的 PC 0x400d96f7 处调用了 abort()
回溯:0x4008c470:0x3ffbe2700x4008c6a1:0x3ffbe2900x400d96f7:0x3ffbe2b00x400815dd:0x3ffbe2d00x40136087:0x00000000
正在重启...
2016 年 6 月 8 日 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
配置:0,SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO,时钟 div:1
load:0x3fff0018,长度:4
load:0x3fff001c,长度:1100
load:0x40078000,len:10088
load:0x40080400,长度:6380
条目 0x400806a4
我也在 cpu1 或核心 1 上尝试了 运行 我的任务,但 wifi 在 cpu 或核心 0 上自动 运行。并得到同样的错误。
也尝试过添加延迟,但没有任何效果。
char *wssid = "PTCL-TB";
char *wpassword = "pakistan";
bool connected2Wifi = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
delay(10);
Serial.println('\n');
WiFi.begin(wssid, wpassword); // Connect to the network
Serial.print("Connecting to ");
Serial.print(wssid);
while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
delay(500);
Serial.print('.');
}
Serial.println('\n');
Serial.println("Connection established!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
} ```
I want to connect to wifi in this task. It's very simple and i have also copied it from a reliable source whose code was running. but the error seems to be rigid.
转到工具 -> CPU 频率并将其设置为 160、80 或 240 MHz(支持 WiFi/BT 的频率)。
我看到很多论坛讨论了这个问题,但似乎没有任何效果。我正在使用 esp32,一切都很好,直到突然出现这个看门狗计时器错误。我是新手,所以我无法真正解决这个问题。 我有另一个代码,但我复制了其中的一个非常简单的块并创建了一个新文件,但看门狗计时器错误也出现在这里。我不知道是什么问题。 它说 idle0 没有重置 watach 狗定时器,"wifi" 任务是 运行 在 cpu0.
错误日志 E (42418) task_wdt: 任务看门狗被触发。以下任务没有及时重置看门狗: E (42418) task_wdt: - IDLE0 (CPU 0) E (42418) task_wdt:当前任务 运行: E (42418) task_wdt: CPU 0: wifi E (42418) task_wdt: CPU 1: IDLE1 E (42418) task_wdt:中止。 在核心 0
上的 PC 0x400d96f7 处调用了 abort()回溯:0x4008c470:0x3ffbe2700x4008c6a1:0x3ffbe2900x400d96f7:0x3ffbe2b00x400815dd:0x3ffbe2d00x40136087:0x00000000
正在重启... 2016 年 6 月 8 日 00:22:57
rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) 配置:0,SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO,时钟 div:1 load:0x3fff0018,长度:4 load:0x3fff001c,长度:1100 load:0x40078000,len:10088 load:0x40080400,长度:6380 条目 0x400806a4
我也在 cpu1 或核心 1 上尝试了 运行 我的任务,但 wifi 在 cpu 或核心 0 上自动 运行。并得到同样的错误。 也尝试过添加延迟,但没有任何效果。
char *wssid = "PTCL-TB";
char *wpassword = "pakistan";
bool connected2Wifi = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
delay(10);
Serial.println('\n');
WiFi.begin(wssid, wpassword); // Connect to the network
Serial.print("Connecting to ");
Serial.print(wssid);
while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
delay(500);
Serial.print('.');
}
Serial.println('\n');
Serial.println("Connection established!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP());
}
void loop() {
// put your main code here, to run repeatedly:
} ```
I want to connect to wifi in this task. It's very simple and i have also copied it from a reliable source whose code was running. but the error seems to be rigid.
转到工具 -> CPU 频率并将其设置为 160、80 或 240 MHz(支持 WiFi/BT 的频率)。