ریست شدن esp32 هنگام استفاده از wifi

سلام و درود
مشکلی در استفاده از کتابخانه wifi و چیپ esp32 wrover برام پیش اومده؛
اینکه هنگام استفاده از این کتابخانه وقتی برنامه به خط WiFi.mode(WIFI_STA); میرسه ، در سریال مانیتور مدام پیام ریست نمایش داده میشه .
پیام ریست به شرح زیر میباشد:

rst:0x3 (SW_RESET),boot:0x33 (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:4916
load:0x40078000,len:16436
load:0x40080400,len:4
ho 8 tail 4 room 4
load:0x40080404,len:3524
entry 0x400805b8

سلام
علت‌های احتمالی

  1. کمبود حافظه (RAM) به دلیل تنظیمات PSRAM

ESP32 WROVER دارای PSRAM است، اما اگر به درستی پیکربندی نشده باشد، ممکن است باعث ریست شود.
board_build.psram_enable = true
مقدار heap را بررسی کنید:
Serial.println(ESP.getFreeHeap());
2. مشکل در تغذیه‌ی ESP32
ولتاژ نامناسب یا جریان کم می‌تواند باعث ریست شود.
3. استفاده از GPIOهای نادرست
برخی از پایه‌ها در ESP32 برای بوت شدن مهم هستند و اگر به طور نادرست متصل شوند، باعث ریست می‌شوند.
4. مشکل در فریمور یا کتابخانه WiFi
گاهی نسخه‌ی نامناسبی از کتابخانه‌ی WiFi یا مشکل در فریمور باعث این مشکل می‌شود.
5. تست با کد ساده‌تر (برای بررسی مشکل)
قبل از هر چیز، کد زیر را تست کنید:

#include <WiFi.h>

void setup() {
  Serial.begin(115200);
  delay(1000);
  
  Serial.println("Starting WiFi...");
  WiFi.mode(WIFI_STA);
  Serial.println("WiFi Mode Set Successfully");
}

void loop() {
  delay(1000);
}

اگر این کد بدون مشکل اجرا شد، مشکل از کد اصلی شما است.

1 پسندیده

اکثرا مشکل از جریان بالای مصرفی در هنگام اتصال هست
اگر از ماژول استفاده میکنید بجای پورت usb کامپیوتر از شارژر برای تست استفاده کنید
گاها ناپایداری پایه en در شرایط جریان کشی هنگام اتصال wifi هم مسئله هست که میتونید با یه خازن به 3.3 متصل کنید
همه این مسائل در صورت صحت کد شما هست

2 پسندیده