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

【花雕学编程】Arduino动手做(233)---系统测试ESP32-S3 UNO(N16R8)开发板的串口输出功能 简单

头像 驴友花雕 2024.10.03 17 0

06.jpg

 

ESP32-S3 UNO 开发板是基于 ESP32-S3-WROOM-1-N16R8 微控制器的扩展板,基于 Arduino 开发板架构。凭借 2.4GHz Wi-Fi 和集成蓝牙 5.0 等高级功能,它为开发各种项目提供了一个强大的平台。ESP32-S3 UNO 配备 16MB 闪存和 8MB RAM,特别适用于物联网 (IoT)、机器人和其他工程项目的复杂应用。该开发板支持 Python 和 C 等流行的编程语言,可以在 Arduino IDE 开发环境中轻松编程和使用。该板的高级功能,包括对多种通信协议的支持和高处理能力,使其成为专业工程师和开发人员的理想工具。

 

00 (2).jpg
00.jpg

使用3D打印了一套小盒子

 

08.jpg
09.jpg

知识点:串口
也称为串行通信接口,是一种计算机硬件接口,用于在两个设备之间进行数据传输。它是点对点的通信方式,即一次只有一个比特的数据被发送或接收。串口通信通常用于嵌入式系统、工业控制、科学仪器和远程通信设备。

1、串口通信的一些关键特点:
(1、串行传输:数据按顺序一个接一个地传输,与并行传输相反,后者可以同时传输多个比特。
(2、速度:串口通信的速度由波特率(每秒传输的比特数)来衡量。常见的波特率包括9600、19200、115200等。
(3、简单性:串口通信只需要两条或三条线(发送线、接收线,有时还包括地线),这使得它在物理连接上非常简单。
(4、灵活性:串口可以使用不同的电压水平和数据格式进行通信,使其适用于各种应用。
(5、通用性:几乎所有的计算机和微控制器都支持串口通信。
(6、软件支持:大多数编程语言和操作系统都提供了对串口通信的支持。

2、串口通信的基本要素包括:
(1、TX(发送):数据从这个引脚发送出去。
(2、RX(接收):数据通过这个引脚接收进来。
(3、GND(地):作为参考电压,确保发送和接收设备有共同的电平基准。

3、在串口通信中,数据通常以字节为单位传输,每个字节可以是8位(一个字节)或更多位。除了数据位,每次传输还可能包括起始位、停止位和奇偶校验位:
(1、起始位:告诉接收设备数据传输即将开始,通常是一个逻辑低电平。
(2、停止位:表示数据传输的结束,通常是一个逻辑高电平。
(3、奇偶校验位:用于错误检测,可以是奇校验、偶校验或无校验。

4、串口通信的应用非常广泛,例如:
(1、调试:在开发嵌入式系统时,串口常用于打印调试信息。
(2、设备控制:在工业自动化中,串口用于控制和监控设备。
(3、传感器数据读取:串口用于从传感器读取数据。
(4、远程通信:在物联网(IoT)应用中,串口用于设备之间的远程通信。
随着技术的发展,虽然有些应用场景已经被更现代的通信协议所取代,但串口通信仍然在许多领域发挥着重要作用。
 

14.jpg

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 实验二百三十三:ESP32-S3 UNO开发板 双核16M+8M+Wi-Fi+蓝牙5.0+45个GPIO
 {花雕动手做}项目之二:系统测试ESP32-S3 UNO(N16R8)开发板的串口输出功能

实验开源代码
 

代码
/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百三十三:ESP32-S3 UNO开发板 双核16M+8M+Wi-Fi+蓝牙5.0+45个GPIO
  {花雕动手做}项目之二:系统测试ESP32-S3 UNO(N16R8)开发板的串口输出功能
*/

void setup() {
  Serial.begin(115200); // 初始化串口,波特率为115200
  Serial.println(" ");
  Serial.println("ESP32-S3 UNO(N16R8)准备就绪!");
  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); // 回显输入
  }
}

实验串口返回情况

 

14-.jpg

实验场景图

 

13-1.jpg

评论

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