我在使用 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 的频率)。