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   阅读(37)   评论(0)
 标签: 创客 ESP32

涨知识
传感器

传感器是一种检测装置,能感受到被测量的信息,并按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。

评论:
相关文章
物联网项目开发实战-第2章-开发环境

本小节通过点亮LED和串口输出两个程序,来初步掌握ArduinoIDE、了解GPIO和串口使用、同时把开发环境与开发板的连接,上传程序的各环节跑通,


小鹏浇花套件单机版程序V1.0.0

本程序是小鹏物联网智能浇花套件的单机版程序(不连接物联网),供同学们参考。


ESP32 的中断机制和处理

本文介绍ESP32中的中断机制,以及如何通过GPIO中断实现按钮控制。重点讲解了如何设置中断服务例程、处理中断抖动问题,并提供了消除中断抖动的示例代码。


在ESP32上实现WEB交互界面

本文主要介绍在未联网(AP热点)情况下实现WEB交互界面的CSS和javascript库。


ESP32 FreeRTOS 双核使用

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。

搜索
小鹏STEM教研服务

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