Освой Arduino играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Функция getChipRevision() возвращает номер ревизии чипа.
void setup() {
Serial.begin(115200);
Serial.print("Ревизия чипа: ");
Serial.println(ESP.getChipRevision());
}
void loop() {}
Функция getEfuseMac() возвращает идентификатор платы, который по сути является его MAC-адресом.
uint64_t chipid;
void setup() {
Serial.begin(115200);
chipid = ESP.getEfuseMac(); //The chip ID is essentially its MAC address(length: 6 bytes).
Serial.printf("ESP32 Chip ID = %04X", (uint16_t)(chipid >> 32)); //print High 2 bytes
Serial.printf("%08X\n", (uint32_t)chipid); //print Low 4bytes.
}
void loop() {}
Функция getFlashChipSize возвращает размер флеш-памяти в байтах.
void setup() {
Serial.begin(115200);
Serial.printf("Flash chip size:\t%d (bytes)\n", ESP.getFlashChipSize());
}
void loop() {}
Результат
Flash chip size: 4194304 (bytes)
Функция getFlashChipSpeed() возвращает частоту чипа.
void setup() {
Serial.begin(115200);
Serial.printf("Flash chip frequency:\t%d (Hz)\n", ESP.getFlashChipSpeed());
}
void loop() {}
Результат
Flash chip frequency: 80000000 (Hz)
Функция getFreeHeap() возвращает количество доступной кучи в памяти.
void setup() {
Serial.begin(115200);
Serial.printf("Free heap size:\t%d (bytes)\n", ESP.getFreeHeap());
}
void loop() {}
Результат:
Free heap size: 362780 (bytes)
Функция getHeapSize() возвращает полный размер кучи в памяти.
void setup() {
Serial.begin(115200);
Serial.printf("Total heap size:\t%d (bytes)\n", ESP.getHeapSize());
}
void loop() {}
Функция getMaxAllocHeap() возвращает размер самого большого блока кучи, который может быть выделен.
void setup() {
Serial.begin(115200);
Serial.printf("Largest block of heap that can be allocated at once:\t%d (bytes)\n", ESP.getMaxAllocHeap());
}
void loop() {}
Возвращает меньший уровень свободной кучи с момента загрузки (?).
void setup() {
Serial.begin(115200);
Serial.printf("Lowest level of free heap since boot:\t%d (bytes)\n", ESP.getMinFreeHeap());
}
void loop() {}
Функция getSdkVersion() возвращает версию SDK для платы.
void setup() {
Serial.begin(115200);
Serial.print("Версия SDK: ");
Serial.println(ESP.getSdkVersion());
}
void loop() {}
Результат:
Версия SDK: v3.2.3-14-gd3e562907
Функция restart() программно перезагружает плату ESP32.
void setup() {
Serial.begin(115200);
Serial.println("Перезагружаем через 10 секунд");
// Ждём 10 секунд
delay(10000);
// Перезапускаем ESP
ESP.restart();
}
void loop() {}
//SPI RAM uint32_t getPsramSize(); uint32_t getFreePsram(); uint32_t getMinFreePsram(); uint32_t getMaxAllocPsram(); uint32_t getCpuFreqMHz(){ return getCpuFrequencyMhz(); } inline uint32_t getCycleCount() __attribute__((always_inline)); void deepSleep(uint32_t time_us); FlashMode_t getFlashChipMode(); uint32_t magicFlashChipSize(uint8_t byte); uint32_t magicFlashChipSpeed(uint8_t byte); FlashMode_t magicFlashChipMode(uint8_t byte); uint32_t getSketchSize(); String getSketchMD5(); uint32_t getFreeSketchSpace(); bool flashEraseSector(uint32_t sector); bool flashWrite(uint32_t offset, uint32_t *data, size_t size); bool flashRead(uint32_t offset, uint32_t *data, size_t size);