简体   繁体   English

在 esp32 上使用 DallasTemperature 和 Wifi.h 时出现 Guru Meditation 错误

[英]Getting Guru Meditation Error when using DallasTemperature with Wifi.h on esp32

I'm getting this error, when trying to use Wifi + DallasTemperature && OneWire on my esp32.我在 esp32 上尝试使用 Wifi + DallasTemperature && OneWire 时遇到此错误。 Temperature sensor is Gravity DS18B20.温度传感器为 Gravity DS18B20。

When I don't use Wifi it works fine.当我不使用 Wifi 时,它工作正常。

This is an error code这是一个错误代码

09:41:17.049 -> Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
09:41:17.082 -> 
09:41:17.082 -> Core  1 register dump:
09:41:17.082 -> PC      : 0x400d3b40  PS      : 0x00060433  A0      : 0x800d4488  A1      : 0x3ffb2710  
09:41:17.082 -> A2      : 0x3f40af28  A3      : 0x0000001c  A4      : 0x0a4c4c55  A5      : 0x3ff49000  
09:41:17.082 -> A6      : 0x00000020  A7      : 0x00000000  A8      : 0x800d3b15  A9      : 0x3ffb26d0  
09:41:17.082 -> A10     : 0x00060420  A11     : 0x3ffc2cac  A12     : 0x3ffc2ca4  A13     : 0xb33fffff  
09:41:17.082 -> A14     : 0x00000001  A15     : 0x00000001  SAR     : 0x00000020  EXCCAUSE: 0x0000001c  
09:41:17.115 -> EXCVADDR: 0x0a4c4c55  LBEG    : 0x400df328  LEND    : 0x400df332  LCOUNT  : 0x00000000  
09:41:17.115 -> 
09:41:17.115 -> 
09:41:17.115 -> Backtrace:0x400d3b3d:0x3ffb27100x400d4485:0x3ffb2750 0x400d476c:0x3ffb2780 0x400d2782:0x3ffb27b0 0x400d53b7:0x3ffb2820 

Here I have it decoded我在这里解码了

Decoding 5 results
0x400d3b3d: OneWire::reset() at /home/suomi/Arduino/libraries/OneWire/util/OneWire_direct_gpio.h line 165
:  (inlined by) OneWire::reset() at /home/suomi/Arduino/libraries/OneWire/OneWire.cpp line 172
0x400d4485: OneWire::search(unsigned char*, bool) at /home/suomi/Arduino/libraries/OneWire/OneWire.cpp line 388
0x400d476c: DallasTemperature::begin() at /home/suomi/Arduino/libraries/DallasTemperature/DallasTemperature.cpp line 113
0x400d2782: setup() at /home/suomi/Arduino/sketch_sep18a/sketch_sep18a.ino line 53
0x400d53b7: loopTask(void*) at /home/suomi/.arduino15/packages/esp32/hardware/esp32/2.0.0/cores/esp32/main.cpp line 38

also with backtracked lines in the files mentioned above还带有上述文件中的回溯行

1. ESP_REG(rtc_reg) = ESP_REG(rtc_reg) & ~(rtc_io_desc[pin].mux);

2. DIRECT_MODE_INPUT(reg, mask);

3.if (!reset()) {

4.while (_wire->search(deviceAddress)) {

5.sensors.begin();

6.void loopTask(void *pvParameters)
{
    setup();

And my executed code还有我执行的代码

#include <OneWire.h>
#include <DallasTemperature.h>
#include <WiFi.h>


// Wifi Settings
#define WIFI_NETWORK "name"
#define WIFI_PASSWORD "pass"
#define WIFI_TIMOUT_MS 20000

const int oneWireBus = 32;
OneWire oneWire(oneWireBus);
DallasTemperature sensors(&oneWire);
int status;



int connectToWiFi() {
    Serial.println(" ");
    Serial.print("Connencting to WiFi");
    Serial.print(" ");
    WiFi.mode(WIFI_STA);
    WiFi.begin(WIFI_NETWORK, WIFI_PASSWORD);

    unsigned long startAttemptTime = millis();

    while(WiFi.status() != WL_CONNECTED && millis() - startAttemptTime < WIFI_TIMOUT_MS) {
        Serial.print(".");
        delay(700);
    }

    if (WiFi.status() != WL_CONNECTED) {
        Serial.println("Failed connect to WiFi!");
        return 0;

    }

    else {
        Serial.print("Connected to WiFi");
        Serial.println(WIFI_NETWORK);
        Serial.println(WiFi.localIP());
        return 1;
    }
}


void setup() {
    status = connectToWiFi();
    Serial.begin(115200);
    sensors.begin();


void loop() {
        
}

I'm not very good in c++, could someone please help me?我在 C++ 方面不是很好,有人可以帮助我吗? LoadProhibited : It looks like it trying to access a memory that it shouldn't? LoadProhibited :看起来它试图访问它不应该访问的内存?

It's been a long time since I used Arduino libs on ESP32.我已经很久没有在 ESP32 上使用 Arduino 库了。 Maybe Serial.begin() should be called before connectToWifi() because you call Serial methods before initializing it.也许Serial.begin()应该在connectToWifi()之前调用,因为您在初始化之前调用了 Serial 方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 WiFi.h 从 WiFiClient ESP32 获取数据 - Getting data from WiFiClient ESP32 using WiFi.h ESP32:出现 Guru Meditation 错误,因为字符串非常长(约 15.000 个字符长) - ESP32: Getting Guru Meditation Error because having an extremly long string (~15.000 characters long) Guru Meditation 错误:使用 sprintf 时核心 1 出现恐慌 - Guru Meditation Error: Core 1 panic'ed when using sprintf ESP32 转 ESP32 WiFi 服务器/客户端问题 - ESP32 to ESP32 WiFi Server/Client Problem ESP32 使用 BLE 和 WiFi API 调用给出错误代码 -1 - ESP32 using BLE and WiFi API calls gives error code -1 使用 InfluxdbV2.h 将 ESP32 数据写入 Influxdb 会导致 NULL 错误 - Writing ESP32 data to Influxdb using InfluxdbV2.h gives NULL error 从 ESPAsyncWebServer 请求参数读取数据时大师冥想错误 - guru meditation error when reading data from ESPAsyncWebServer request parameters 当esp32出现在newlib /而非esp32 /中的组件#includes esp_types.h时,esp-idf build flash失败 - esp-idf build flash fails when esp32 when component #includes esp_types.h found in newlib/ not esp32/ FABGL 库 esp32 arduino ide:使用变量时出现 Terminal.write 错误 - FABGL library esp32 arduino ide: Terminal.write error when using variables WiFi 工作时,您可以使用所有 ESP32 的 GPIO 引脚吗? - Can you use all the ESP32's GPIO pins when the WiFi is working?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM