我在使用esp32在arduino中执行简单任务时遇到了看门狗定时器错误

时间:2019-04-14 10:42:28

标签: arduino watchdog esp32

我见过很多讨论此问题的论坛,但似乎无济于事。我正在使用esp32,一切都很好,直到突然出现这个看门狗计时器错误。我是新手,所以我无法真正解决此问题。 我有另一个代码,但是我复制了一个非常简单的代码块并创建了一个新文件,但是看门狗计时器错误也出现在这里。我不知道是什么问题。 它说idle0不能重置watach dog计时器,并且“ 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:空闲1 E(42418)task_wdt:正在终止。 在内核0的PC 0x400d96f7调用了abort()

回溯:0x4008c470:0x3ffbe270 0x4008c6a1:0x3ffbe290 0x400d96f7:0x3ffbe2b0 0x400815dd:0x3ffbe2d0 0x40136087:0x00000000

正在重新启动... ets 2016年6月8日00:22:57

rst:0xc(SW_CPU_RESET),启动:0x17(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 模式:DIO,时钟分频:1 负载:0x3fff0018,len:4 加载:0x3fff001c,len:1100 加载:0x40078000,len:10088 加载:0x40080400,len:6380 条目0x400806a4

我也尝试过在cpu1或core 1上运行任务,但是wifi自动在cpu或core0上运行。并得到同样的错误。 也尝试过增加延迟,但没有任何效果。



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.

1 个答案:

答案 0 :(得分:0)

转到工具-> CPU频率并将其设置为160、80或240 MHz(支持WiFi / BT的频率)。