文章目录

  • 目的
  • 基本信息获取
    • 常用方法说明
    • 使用示例
  • 复位原因
  • 总结

目的

本文介绍了Arduino core for the ESP32中获取模块基本信息与复位原因的一些方法。

基本信息获取

常用方法说明

这里列出的方法主要都在EspClass类中,可以用默认名为ESP的对象来调用。

  • uint32_t getHeapSize() 返回总堆大小;
  • uint32_t getFreeHeap() 返回可用堆大小;
  • uint32_t getMinFreeHeap() 返回系统启动以来最低可用堆大小;
  • uint32_t getMaxAllocHeap() 返回可以可以一次分配的最大堆块;
  • uint32_t getPsramSize() 返回外部SPI RAM总堆大小;
  • uint32_t getFreePsram() 返回外部SPI RAM可用堆大小;
  • uint32_t getMinFreePsram() 返回外部SPI RAM系统启动以来最低可用堆大小;
  • uint32_t getMaxAllocPsram() 返回外部SPI RAM可以可以一次分配的最大堆块;
  • uint8_t getChipRevision() 返回芯片版本号;
  • uint8_t getCpuFreqMHz() 返回芯片时钟频率;
  • uint32_t getCycleCount() 返回自上电以来经过的时钟周期数(不太确定);
  • const char * getSdkVersion() 返回SDK版本号;
  • uint32_t getFlashChipSize() 返回flash大小;
  • uint32_t getFlashChipSpeed() 返回flash运行速度;
  • FlashMode_t getFlashChipMode() 返回flash工作模式;
    FM_QIO = 0, FM_QOUT = 1, FM_DIO = 2, FM_DOUT = 3, FM_FAST_READ = 4, FM_SLOW_READ = 5, FM_UNKNOWN = 255;
  • uint32_t getSketchSize() 返回当前固件大小;
  • String getSketchMD5() 返回当前固件的MD5校验值;
  • uint32_t getFreeSketchSpace() 返回固件区域剩余大小;
  • uint64_t getEfuseMac() 获取eps32芯片mac地址(6byte),该地址也可以用作芯片ID;

The chip ID is essentially its MAC address(length: 6 bytes).

使用示例

复位原因

使用rtc_get_reset_reason(0)rtc_get_reset_reason(1)可以分别获取core0core1最近一次复位的原因;(core1在Arduino core for the ESP32中就是用户程序运行的核心)
以上函数会返回1~16的值,分别对应16种复位原因,具体信息可以参考下面官方例程:
https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/ResetReason/ResetReason.ino

总结

本篇主要内容就是上面那些了,使用起来比较简单,更多内容可以参考如下:
https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/Esp.h
https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino

使用Arduino开发ESP32(15):模块基本信息与复位原因获取相关推荐

  1. 使用Arduino开发ESP32(11):IO口与相关外设说明与记录

    文章目录 目的 数字IO口 基本使用 外部中断 使用示例 参考链接 LEDC(PWM) 常用方法 使用示例 参考链接 SigmaDelta 参考链接 ADC 常用方法 使用示例 参考链接 存在的问题 ...

  2. 使用Arduino开发ESP32(13):SD卡的使用

    文章目录 目的 SDMMC方式 常用方法 使用示例 SPI方式 常用方法 使用示例 注意事项 总结 目的 对于嵌入式设备来说SD卡也是个比较好用的功能,比如用来存放设备的配置文件.日志文件.执行脚本. ...

  3. 使用Arduino开发ESP32(八):ESP32的EPROM的写入读取

    写入EPROM /* 该代码向EEPROM写入4096字节数据 */ #include <EEPROM.h>void setup() {Serial.begin(115200);Seria ...

  4. 使用Arduino开发ESP32(06):Ethernet的使用(基于LAN8720)

    文章目录 目的 基本说明 接线定义 使用步骤 常用方法说明 使用演示 数据通讯 事件响应 其他说明 PHY地址 时钟 通讯应用 总结 目的 ESP32除了可以使用无线网络外还可以通过外接PHY模块来使 ...

  5. 使用Arduino开发ESP32:wifi基本功能使用

    1.建立网络(AP) 2.连接网络(STA) 3.扫描网络 1.建立网络(AP) 只需两步:1.引用WiFi库include<WiFi.h> 2.启动AP网络WiFi.softAP(ssi ...

  6. 使用Arduino开发ESP32(07):系统时间和定时任务调度器Ticker

    文章目录 目的 系统时间及应用 定时任务调度器Ticker 使用步骤 常用方法 使用事例 事例一 事例二 事例三 总结 目的 开发中经常会用到时间相关操作,主要就是用到系统时间.延时操作.定时任务调度 ...

  7. 使用Arduino开发ESP32(16):DeepSleep和RTC Memory的使用

    文章目录 目的 基础说明 DeepSleep RTC Memory 使用示例 部分方法说明 总结 目的 ESP32在工作时功耗蛮大的,所以我们可以在不需要时进行休眠,这也是蛮常用的功能. 基础说明 D ...

  8. 使用Arduino开发ESP32(21):蓝牙基础说明与作为服务器使用

    文章目录 目的 蓝牙基础说明 测试工具 作为服务器使用 创建蓝牙设备并广播 创建Server 创建Service并启动 创建Characteristic 读写Characteristic中的Value ...

  9. 基于arduino 开发 esp32 点亮ili9341屏幕

    第一次编写csdn文章,也同时做一下笔记方便以后可以快速上手, 内容介绍:用esp32利用arduino点亮ili9341屏幕,本章内容没有触控以及,函数的使用介绍 ili9341引脚介绍: 1 VC ...

  10. 使用Arduino开发ESP32:关于esp32 wifi连接不上的解决办法

    今天在学习MQTT订阅的过程中 发现esp32时钟连接不上wifi 主体代码如下: while(WiFi.status()!=WL_CONNECTED){delay(200);Serial.print ...

最新文章

  1. 实用PS技巧分享,送给初入职场的你
  2. python变长参数传递
  3. 洛谷——P1549 棋盘问题(2)
  4. PMP知识点(六、质量管理)
  5. AIProCon在线大会笔记之阿里达摩院司罗:为商业搭建语言桥梁
  6. UDP和TCP的区别(详细)
  7. 使用jQuery Treeview插件实现树状结构效果
  8. 【MySQL】RPM包安装
  9. 等级保护三级备案材料有哪些
  10. [sklearn机器学习]线性回归模型
  11. 四款亲试好用的PDF编辑器推荐,看看哪款最适合你
  12. 分度值1g是什么意思_分度值1g是什么意思_【移动通信发展史】从1G到5G—是我们改变了生活,还是生活改变了我们?......
  13. 多目标优化算法:多目标非洲秃鹫优化算法MOAVOA(提供Matlab代码)
  14. android 第三方社区,从友盟微社区看Android第三方SDK架构实践
  15. 网易杭研 java 校招_09网易杭研校园招聘面试题
  16. 用python给女朋友惊喜_怎样用Python讨您的女朋友欢心(附源码)?女孩很好哄的嘛! zt...
  17. 用div和css制作网页,DIVCSS网页设计总结:有用的3个网页制作_css
  18. 微信小程序加载第三方字体
  19. qdir 类似工具_Qt 5.9 C++开发指南 PDF 高质量影印版
  20. 引入video.js并使用

热门文章

  1. python怎么变成白色_在python中将一系列颜色更改为白色
  2. 关于vlc编解码器暂不支持: VLC 无法解码格式“MIDI” (MIDI Audio)解决
  3. DeepMind重磅开源强化学习框架!覆盖28款游戏,24多个算法
  4. #4【BZOJ5109】[CodePlus 2017]大吉大利,晚上吃鸡!(未完成)
  5. Python/Matplotlib实现雨点图动画
  6. python 删除特定列_pandas删除某一列的方法(drop函数)
  7. SAP SLT数据同步配置
  8. nginx学习,看这一篇就够了:使用:正向代理、反向代理、负载均衡, 常用命令和配置文件
  9. 冷冻水和冷却水的区别
  10. 简报 | 阿里与腾讯在区块链领域必有一战