带有 neopixel 库的 ESP32 会导致 TG1WDT_SYS_RESET 引导循环

问题描述 投票:0回答:1

neopixel 库在 Arduino IDE 中的 DOIT ESP32 DEVKIT V1 上导致 TG1WDT_SYS_RESET 引导循环。

rst:0x8 (TG1WDT_SYS_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:0x3fff0030,len:1184 load:0x40078000,len:13160 load:0x40080400,len:3036 entry 0x400805e4

这是显示的错误消息。我在互联网上搜索了解决方案,但似乎没有真正起作用。

下面显示的是 neopixel 的“简单”代码示例,它也会触发该问题。但我无法分享我的原始代码,因为它有 1000 多行

#include <Adafruit_NeoPixel.h>

#define PIN 6
#define NUMPIXELS 1
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRBW);
#define DELAYVAL 500

void setup() {
  pixels.begin();
}

void loop() {
  pixels.clear();
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 150, 0));
    pixels.show();
    delay(DELAYVAL);
  }
}

我尝试重新滚动 ESP Core 版本,来自; 3.0.8 -> 2.0.7 -> 2.0.4 并将 neopixel 库降级; 1.12.3 -> 1.10.4 这似乎不起作用。

将 LED 数量减少到 1 个带 1 个 LED 的灯条不起作用。

我还尝试禁用看门狗计时器,但这也没有帮助。 我包括;

#include "esp_task_wdt.h"
并补充说;
esp_task_wdt_deinit();
进行设置 和/或添加;
esp_task_wdt_reset();
进入循环 但这没有任何作用。

我包括在内;

#include "soc/rtc_wdt.h"
并补充说;
rtc_wdt_disable();
进行设置 但这也不起作用。

在混合物中加入一些

yield();
也没有多大作用

arduino esp32 neopixel
1个回答
0
投票

IO 不匹配。 GPIO 6 导致其重新启动。 今天早上醒来才发现

© www.soinside.com 2019 - 2024. All rights reserved.