【UART 串口】 收发数据
下载例程代码 :下载代码
串口通信是什么?
- 串口通信是一种用于计算机之间的数据传输方式,它使用两条物理线路(通常是TX和RX)来传输数据
- 串口通信通常用于将计算机与其他设备(如打印机、传感器、控制器等)连接起来
- 串口通信的速度通常是9600bps,即每秒传输9600个数据位
- 串口通信的优点是简单易用,缺点是传输速度较慢
串口通信工作原理
串口通信的工作原理是通过将数据转换为二进制码来传输数据。串口通信的工作原理如下:
- 发送方将数据转换为二进制码,并将其发送到串口的TX引脚上。
- 接收方将数据从串口的RX引脚上接收,并将其转换为二进制码。

信息
串口通信关键参数:
- 波特率(Baud Rate):表示数据传输速率,单位为每秒传输的位数,通常是9600bps。
- 数据位(Data Bits):表示每一位数据所占的位数,通常为8位。
- 校验位(Parity Bit):表示数据传输过程中是否进行奇偶校验,通常为无校验。
- 停止位(Stop Bit):表示数据传输过程中每一帧数据结束的标识,通常为1位。
ESP32串口
- ESP32 有 3 个 UART 接口,分别是串口0,串口1,以及串口2。
- 串口0一般作为下载程序,或者是调试使用,我们下载程序使用的就是串口0.
| uart | 接收引脚(RX) | 发送引脚(TX) |
|---|---|---|
| uart0 | 3 | 1 |
| uart1 | 9 | 10 |
| uart2 | 16 | 17 |
关键函数:
Serial.begin():初始化串口
Serial.print():打印数据到串口
Serial.println():打印数据到串口,并换行
Serial.read():从串口读取数据
Serial.available():检查串口是否有数据可读
Serial.flush():清空串口缓冲区
Serial.end():关闭串口
代码
1、发送数据代码
void setup() {
Serial.begin(9600); // 设置串口通信的波特率为9600bps
}
void loop() {
Serial.println("Hello, World"); // 发送数据到串口
delay(100); // 延时100ms
}

提示
Arduino IDE -> 工具 -> 串口监视器,即可查看发送的数据。
2、接收数据代码
void setup() {
Serial.begin(9600); // 设置串口通信的波特率为9600bps
}
void loop() {
if(Serial.available()){ // 检查串口是否有数据可读
char data = Serial.read(); // 从串口读取数据
Serial.println(data); // 打印数据到串口
}
}

提示
在发送框输入要发送的数据 -> 点击发送按钮,即可接收到数据。