资讯详情

ESP32-WROOM-32D模组上传Arduino IDE示例编译的固件后总是重启,该如何解决

手头的ESP32-WROOM-32D模块配有单核CPU,因此Arduino IDE需要配置成单核编译模式。用ESP编译上传固件后,32个示例不断重启:

例如GetChipID,源代码:

uint32_t chipId = 0;

void setup() {

Serial.begin(115200);

}

void loop() {

for(int i=0; i<17; i=i 8) {

chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i;

}

Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(), ESP.getChipRevision());

Serial.printf("This chip has %d cores\n", ESP.getChipCores());

Serial.print("Chip ID: "); Serial.println(chipId);

delay(3000);

}

以下信息将在运行后重启并打印:

Rebooting...

ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot: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

mode:DIO, clock div:1

load:0x3fff0018,len:4

load:0x3fff001c,len:1216

ho 0 tail 12 room 4

load:0x40078000,len:10944

load:0x40080400,len:6388

entry 0x400806b4

E (104) system_api: Base MAC address from BLK0 of EFUSE CRC error, efuse_crc = 0x00; calc_crc = 0xd0

abort() was called at PC 0x400e1753 on core 0

ELF file SHA256: 0000000000000000

Backtrace: 0x4008443b:0x3ffb1ee0 0x40084699:0x3ffb1f00 0x400e1753:0x3ffb1f20 0x400d0cee:0x3ffb1f60 0x400d0b9b:0x3ffb1f90 0x400d14f1:0x3ffb1fb0 0x40085651:0x3ffb1fd0

若将源码中的

for(int i=0; i<17; i=i 8) {

chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i;

}

注释这部分,即:

uint32_t chipId = 0;

void setup() {

Serial.begin(115200);

}

void loop() {

       Serial.printf("ESP32 Chip model = %s Rev %d\n", ESP.getChipModel(), ESP.getChipRevision());

       Serial.printf("This chip has %d cores\n", ESP.getChipCores());

  Serial.print("Chip ID: "); Serial.println(chipId);

 

       delay(3000);

}

则可以完全正。

请教各位大佬指教一下,这是什么原因?该如何解决?

标签: 3x400高压电缆电容值

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司