基于 Arduino 库获取ESP32芯片id Flash 大小、 PSRAM 大小

admin 7月前 482

#include <Arduino.h>
	
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);
  
   // 获取 Flash 大小(以字节为单位)
  uint32_t flashSize = ESP.getFlashChipSize();
  Serial.printf("Flash Size: %u bytes\n", flashSize);
  // 获取 PSRAM 的大小(以字节为单位)
  uint32_t psramSize = ESP.getPsramSize();
  Serial.printf("PSRAM Size: %u bytes\n", psramSize);
  // 获取剩余内存
  uint32_t freeMemory = ESP.getFreeHeap();
  Serial.printf("Free Memory: %u bytes\n", freeMemory);
   // 获取总内存
  uint32_t Totalheap = ESP.getHeapSize();
  Serial.printf("Total heap: %u bytes\n", Totalheap);
   // 获取 PSRAM 剩余内存
  uint32_t FreePSRAM = ESP.getFreePsram();
  Serial.printf("Free PSRAM: %u bytes\n", FreePSRAM);
  
	delay(3000);
}


欢迎联系本站长QQ:3216572
最新回复 (4)
  • admin 7月前
    2
    ESP32 Chip model = ESP32-D0WDQ6 Rev 1
    This chip has 2 cores
    Chip ID: 1557916
    Flash Size: 4194304 bytes
    PSRAM Size: 4192123 bytes
    Free Memory: 345916 bytes
    Total heap: 371248 bytes
    Free PSRAM: 4192123 bytes


    esp32 cam
  • admin 7月前
    3
    ESP32 Chip model = ESP32-D0WD-V3 Rev 3
    This chip has 2 cores
    Chip ID: 15149496
    Flash Size: 4194304 bytes
    PSRAM Size: 0 bytes
    Free Memory: 346300 bytes
    Total heap: 371312 bytes
    Free PSRAM: 0 bytes

    esp32-wroom
  • admin 7月前
    4
    15:47:24.172 -> ESP32 Chip model = ESP32-C3 Rev 3
    15:47:24.172 -> This chip has 1 cores
    15:47:24.172 -> Chip ID: 13878348
    15:47:24.172 -> Flash Size: 2097152 bytes
    15:47:24.172 -> PSRAM Size: 0 bytes
    15:47:24.172 -> Free Memory: 313056 bytes
    15:47:24.172 -> Total heap: 334468 bytes
    15:47:24.172 -> Free PSRAM: 0 bytes



     ESP32 Chip model = ESP32-C3 Rev 3
  • admin 6月前
    5
    void setup() {
      Serial.begin(115200);
      pinMode(12, OUTPUT);
      pinMode(13, OUTPUT);
    }
    void loop() {
      digitalWrite(12, HIGH);   // turn the LED on (HIGH is the voltage level)
      digitalWrite(13, LOW);   // turn the LED on (HIGH is the voltage level)
      delay(1000); // wait for a second
      digitalWrite(12, LOW);    // turn the LED off by making the voltage LOW
      digitalWrite(13, HIGH);
      delay(1000);  
    Serial.printf("getHeapSize= %d \n",ESP.getHeapSize());
    delay(10);
    Serial.printf("getFreeHeap= %d \n",ESP.getFreeHeap());
     delay(10);
     Serial.printf("getChipRevision= %d \n",ESP.getChipRevision()); // 3
     delay(10);
     Serial.printf("getChipRevision= %s \n",ESP.getChipModel()); //ESP32-C3
     delay(10);
     Serial.printf("getChipCores= %d Core\n",ESP.getChipCores()); // 1
     delay(10);
     Serial.printf("getCpuFreqMHz= %d MHz\n",ESP.getCpuFreqMHz()); //160 
    delay(10);
    // Serial.printf("getSdkVersion= %s \n",ESP.getSdkVersion()); 
    // Serial.printf("getFlashChipSize= %s \n",ESP.getFlashChipSize());
    //  Serial.printf("getFlashChipSpeed= %s \n",ESP.getFlashChipSpeed());
    Serial.printf("getSketchSize= %d bytes\n",ESP.getSketchSize()); //250128
     delay(10);
     Serial.printf("getFreeSketchSpace= %d bytes\n",ESP.getFreeSketchSpace()); //13631488 bytes
     delay(10);
     Serial.printf("getSketchMD5= %s \n",ESP.getSketchMD5().c_str());//acaaaa867e2263c1f83c0daef8474855
     delay(10);
     uint32_t flash_Size = ESP.getFlashChipSize(); 
     Serial.printf("getFlashChipSize= %d \n",flash_Size); //16777216
    delay(10);
     Serial.printf("getFlashChipSpeed= %d \n",ESP.getFlashChipSpeed()); //80000000
     delay(10);
     FlashMode_t flash_Mode = ESP.getFlashChipMode();
     Serial.printf("Flash mode:  %s\n", (flash_Mode == FM_QIO ? "QIO" : flash_Mode == FM_QOUT ? "QOUT" : flash_Mode == FM_DIO ? "DIO" : flash_Mode == FM_DOUT ? "DOUT" : "UNKNOWN"));
     delay(1000);
    }


返回