合宙ESP32C3硬件配置信息串口打印输出
Posted perseverance52
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合宙ESP32C3硬件配置信息串口打印输出相关的知识,希望对你有一定的参考价值。
合宙ESP32C3硬件配置信息串口打印输出
ESP32C3硬件简介
ESP32-C3 搭载 RISC-V 32 位
单核
处理器,时钟频率高达160
MHz。具有22
个可编程 GPIO 管脚、内置400
KB SRAM,集成 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5 (LE),支持蓝牙 Mesh (Bluetooth Mesh) 协议和乐鑫 Wi-Fi Mesh.
- ESP32C3资料文档
- https://www.espressif.com.cn/sites/default/files/documentation/esp32-c3_datasheet_cn.pdf
- 经检测,通过
Arduino IDE
编译上传的代码可以打印外置spi flash 容量,而通过VSCode PIO编译上传的代码就查询不到有关flash容量的信息。
示例程序
/*
Blink
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
void setup()
Serial.begin(115200);
// initialize digital pin LED_BUILTIN as an output.
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
// the loop function runs over and over again forever
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);
- 基于VSCode PIO编译相同的代码
程序代码编译只占1.7%符合自定义分区表的配置。但是在
VSCode PIO
编译上传的代码有一个问题,就是通过函数无法读取外置SPI flash 容量。
- 基于
Arduino IDE
编译的串口打印信息
-
- 基于
VSCode PIO
编译上传的代码,然后串口打印信息
- 基于
以上是关于合宙ESP32C3硬件配置信息串口打印输出的主要内容,如果未能解决你的问题,请参考以下文章
合宙ESP32C3基于Arduino IDE框架下配置分区表
合宙ESP32C3基于VSCode PIO Arduino开发框架初探教程