回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【花雕学编程】Arduino动手做(232)---全面测试ESP32-S3 WROOM N16R8 CAM的串口功能 简单

头像 驴友花雕 2024.09.23 17 0

0-.jpg
06.jpg
09-.jpg

 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  OV2640/5640摄像头模组
 {花雕动手做}实验之四:全面测试ESP32-S3 WROOM N16R8 CAM的串口功能

实验开源代码
 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
  {花雕动手做}实验之四:全面测试ESP32-S3 WROOM N16R8 CAM的串口功能
*/

void setup() {
  Serial.begin(115200); // 初始化串口,波特率为115200
  Serial.println(" ");
  Serial.println("ESP32-S3 WROOM N16R8 CAM 准备就绪!");
  Serial.println("完成系统初始化!");
  Serial.println("测试不同的数据类型");

  // 测试不同的数据类型
  Serial.print("整数: ");
  Serial.println(123);
  Serial.print("浮点数: ");
  Serial.println(123.456);
  Serial.print("字符: ");
  Serial.println('A');
  Serial.print("字符串: ");
  Serial.println("Hello, World!");

  // 测试格式化输出
  Serial.printf("格式化输出 - 整数: %d, 浮点数: %.2f, 字符: %c, 字符串: %s\r\n", 123, 123.456, 'A', "Hello, World!");

  // 测试串口通信
  Serial.println("请输入一些字符:");
}

void loop() {
  // 打印运行时间
  Serial.printf("运行时间: %.1f 秒\r\n", millis() / 1000.0f);
  delay(1000);

  // 检查是否有可用的串口输入
  if (Serial.available() > 0) {
    String input = Serial.readString(); // 读取串口输入
    Serial.print("你输入了: ");
    Serial.println(input); // 回显输入
  }
}

代码解读
1、初始化串口:

```cpp
Serial.begin(115200); // 初始化串口,波特率为115200
Serial.println("ESP32S3初始化完成!");
```

这段代码初始化了串口通信,设置波特率为115200,并打印一条初始化完成的消息。

2、测试不同的数据类型:

```cpp
Serial.print("整数: ");
Serial.println(123);
Serial.print("浮点数: ");
Serial.println(123.456);
Serial.print("字符: ");
Serial.println('A');
Serial.print("字符串: ");
Serial.println("Hello, World!");
```

这部分代码演示了如何通过串口打印不同类型的数据,包括整数、浮点数、字符和字符串。

3、格式化输出:

```cpp
Serial.printf("格式化输出 - 整数: %d, 浮点数: %.2f, 字符: %c, 字符串: %s\r\n", 123, 123.456, 'A', "Hello, World!");
```

使用Serial.printf函数进行格式化输出,演示了如何格式化打印整数、浮点数、字符和字符串。

4、提示用户输入:

```cpp
Serial.println("请输入一些字符:");
```

提示用户通过串口输入一些字符。

5、打印运行时间:

```cpp
Serial.printf("运行时间: %.1f 秒\r\n", millis() / 1000.0f);
delay(1000);
```

在loop函数中,每秒打印一次运行时间,使用millis()函数获取自系统启动以来的毫秒数,并转换为秒。

6、检查串口输入并回显:

```cpp
if (Serial.available() > 0) {
 String input = Serial.readString(); // 读取串口输入
 Serial.print("你输入了: ");
 Serial.println(input); // 回显输入
}
```

检查是否有可用的串口输入,如果有,则读取输入并回显给用户。

这段代码全面测试了ESP32S3的串口功能,包括初始化、数据类型打印、格式化输出、用户输入提示和回显,以及运行时间的打印。
实验串口返回情况

 

22.jpg

实验场景图

 

17.jpg

评论

user-avatar
icon 他的勋章
    展开更多