Arduino ESP32获取芯片、RAM信息

本文介绍如何使用Arduino-ESP32库中的API函数获取ESP32的芯片、RAM信息等,并提供了一个示例程序代码。
相关API函数:https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/Esp.h
相关硬件查新函数列表:
ESP.getEfuseMac() —— 获取芯片的MAC地址,常用于设备识别
ESP.getCpuRevision() —— 获取cpu修订号
ESP.getChipModel() ——  获取cpu模式
ESP.getChipCores() ——  获取cpu核数
ESP.getCpuFreqMHz() —— 获取cpu运行频率
ESP.getCycleCount() ——  获取CPU周期计数

ESP.getCoreVersion() —— 获取核心库版本
ESP.getSdkVersion() —— 以字符形式返回ESP-IDF版本

ESP.getSketchSize() —— 获取当前固件大小
ESP.getFreeSketchSpace() —— 获取当前剩余可用固件空间
ESP.getSketchMD5() —— 返回当前固件的MD5的小写字符串

ESP.getHeapSize() —— 获取堆大小
ESP.getFreeHeap() —— 获取堆剩余大小
ESP.getMinFreeHeap() —— 获取堆最小剩余大小
ESP.getMaxAllowHeap() —— 获取堆最大可用大小

ESP.getFlashChipSize() —— 获取sdk得到的闪存芯片大小
ESP.getFlashChipSpeed() —— 获取闪存芯片运行频率
ESP.getFlashChipMode() —— 获取闪存芯片模式

ESP.restart() —— 软复位系统
ESP.deepSleep(time_us)  —— 深度休眠


示例程序

#include <Arduino.h>

void setup() {
    Serial.begin(115200);

    FlashMode_t flashMode = ESP.getFlashChipMode();
    
    Serial.printf("Flash size: %u bytes\n", ESP.getFlashChipSize());
    Serial.printf("Flash speed: %u Hz\n", ESP.getFlashChipSpeed());
    Serial.printf("Flash mode:  %s\n", (flashMode == FM_QIO ? "QIO" : flashMode == FM_QOUT ? "QOUT" : flashMode == FM_DIO ? "DIO" : flashMode == FM_DOUT ? "DOUT" : "UNKNOWN"));

    Serial.printf(PSTR("Free mem=%d\n"), ESP.getFreeHeap());
}

void loop() {
   static int lastms = 0;
    if (millis()-lastms > 30000) {
      lastms = millis();
      Serial.printf(PSTR("Running %d, Free mem=%d\n"), lastms/1000, ESP.getFreeHeap());
    }
}
- 本文为本站原创文章,转载请保留出处。
- 文章链接:https://www.xpstem.com/article/2000389

07-21   阅读(3)   评论(0)
 标签: 创客 ESP32

涨知识
勾股定理

勾股定理,是一个基本的几何定理,指直角三角形的两条直角边的平方和等于斜边的平方。中国古代称直角三角形为勾股形,并且直角边中较小者为勾,另一长直角边为股,斜边为弦,所以称这个定理为勾股定理,也有人称商高定理。

评论:
相关文章
ESP32 FreeROS 双核使用

ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。


ESP32 GPIO 矩阵和引脚多路复用

ESP32 芯片有34个物理GPIO管脚。每个GPIO管脚都可用作一个通用IO,或连接一个内部的外设信号。IO_MUX ¹、RTC IO MUX 和GPIO交换矩阵用于将信号从外设传输至GPIO管脚。


ESP32Encoder:高效的ESP32旋转编码器库

ESP32Encoder库是一个利用ESP32脉冲计数器硬件外设实现高效旋转编码器读取的软件库。


适合学习物联网的几款盒子

本文对比了几款适合物联网开发的盒子硬件参数,供大家参考。


乐动掌控

乐动掌控采用掌控板作为主控,塑胶一体式外壳,侧面和底面开具多个乐高扩展孔位,兼容乐高积木,可完成多种创意应用。


ESP32 MicroPython存储数据到闪存

在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。


Arduino-ESP32 Preferences库使用详解

Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。


esp32cam开发板烧录micropython固件

‌ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。


小鹏物联网 MicroPython 智能浇花方案

相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。