172| 5
|
[项目] 【花雕学编程】Arduino动手做(233)---ESP32-S3 UNO综合采集 |
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验二百三十三:ESP32-S3 UNO开发板 双核16M+8M+Wi-Fi+蓝牙5.0+45个GPIO {花雕动手做}项目之三:综合采集ESP32-S3 UNO(N16R8)的各种参数并串口输出 实验开源代码
|
代码解读: 1、初始化串口通信:
Serial.begin(115200);:设置串口通信的波特率为115200。 Serial.println(" ");:打印一个空行。 Serial.println("ESP32-S3 UNO(N16R8)准备就绪!");:打印一条消息,表示开发板已准备就绪。 delay(1000);:延迟1秒,给系统一些时间进行初始化。 2、连接WiFi:
WiFi.begin(ssid, password);:开始连接到指定的WiFi网络。 Serial.print("连接到WiFi");:打印连接WiFi的提示信息。 while (WiFi.status() != WL_CONNECTED) { ... }:循环等待,直到WiFi连接成功。 Serial.println(" 接通");:打印连接成功的消息。 3、打印WiFi信息:
Serial.print("IP地址: ");:打印“IP地址”提示。 Serial.println(WiFi.localIP());:打印设备的IP地址。 Serial.print("信号强度 (RSSI): ");:打印“信号强度”提示。 Serial.println(WiFi.RSSI());:打印WiFi信号强度(RSSI)。 4、打印芯片信息:
esp_chip_info_t chip_info;:定义一个结构体变量来存储芯片信息。 esp_chip_info(&chip_info);:获取芯片信息并存储到chip_info变量中。 Serial.printf("ESP32 芯片型号: %d\n", chip_info.model);:打印芯片型号。 Serial.printf("芯核数量: %d\n", chip_info.cores);:打印芯片的核心数量。 Serial.printf("芯片修订版本: %d\n", chip_info.revision);:打印芯片的修订版本。 5、打印CPU频率:
Serial.printf("CPU 频率: %d MHz\n", getCpuFrequencyMhz());:打印CPU的频率。 6、打印内存信息:
Serial.printf("当前内存大小: %d bytes\n", esp_get_free_heap_size());:打印当前可用的堆内存大小。 Serial.printf("最小可用堆内存大小: %d bytes\n", esp_get_minimum_free_heap_size());:打印自系统启动以来最小的可用堆内存大小。 7、打印芯片温度:
Serial.printf("芯片温度: %.2f°C\n", temperatureRead());:打印芯片的温度。 |
8、获取并打印芯片MAC地址:
uint64_t chipid = ESP.getEfuseMac();:获取芯片的MAC地址。 Serial.printf("芯片MAC地址: %04X%08X\n", (uint16_t)(chipid >> 32), (uint32_t)chipid);:打印芯片的MAC地址。 9、打印芯片ID数字形式:
uint32_t chipId = 0;:初始化芯片ID变量。 for (int i = 0; i < 17; i = i + 8) { ... }:通过循环计算芯片ID。 Serial.printf("芯片ID : %u\n", chipId);:打印芯片ID。 10、打印芯片架构信息:
Serial.printf("芯片架构: %s\n", CONFIG_IDF_TARGET);:打印芯片的架构信息。 11、打印芯片复位原因:
esp_reset_reason_t reset_reason = esp_reset_reason();:获取芯片的复位原因。 Serial.printf("复位原因: %d\n", reset_reason);:打印复位原因。 12、打印WiFi模式:
wifi_mode_t mode;:定义一个变量来存储WiFi模式。 esp_wifi_get_mode(&mode);:获取当前的WiFi模式。 Serial.printf("WiFi模式: %d\n", mode);:打印WiFi模式。 13、打印WiFi信道:
uint8_t primaryChan;:定义一个变量来存储主信道。 wifi_second_chan_t secondChan;:定义一个变量来存储次信道。 esp_wifi_get_channel(&primaryChan, &secondChan);:获取当前的WiFi信道。 Serial.printf("WiFi信道: %d\n", primaryChan);:打印WiFi信道。 14、打印WiFi传输功率:
int8_t power;:定义一个变量来存储传输功率。 esp_wifi_get_max_tx_power(&power);:获取最大传输功率。 Serial.printf("WiFi传输功率: %d dBm\n", power);:打印WiFi传输功率。 主要目的是初始化ESP32-S3 UNO开发板,连接到WiFi网络,并通过串口输出各种系统和网络参数。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed