树莓派怎么串口通信
时间: 2025-06-01 13:16:39 浏览: 16
### 树莓派串口通信配置与使用教程
#### 1. 修改 `raspi-config` 设置
为了使树莓派能够通过 GPIO 实现硬件串口通信,需调整其默认设置。通常情况下,默认的硬件串口 `/dev/ttyAMA0` 被分配给蓝牙模块使用,而性能较低的 mini 串口则用于 GPIO 的 TXD 和 RXD 引脚。可以通过以下步骤更改此设置:
在终端中运行命令:
```bash
sudo raspi-config
```
进入菜单后选择 **Interfacing Options** -> **Serial**。在此选项中关闭串口登录功能并启用硬件调试串口功能[^1]。
完成以上操作后重启系统以应用更改:
```bash
sudo reboot
```
#### 2. 编辑 config 文件进一步优化配置
除了通过图形化界面修改外,还可以手动编辑 `/boot/config.txt` 来确保配置无误。执行如下指令打开该文件:
```bash
sudo nano /boot/config.txt
```
向其中添加或确认存在下列参数:
- `enable_uart=1`: 启用 UART 功能;
- 注释掉任何禁用蓝牙的相关条目(如果不需要蓝牙的话可以直接禁用它以便释放 ttyAMA0)。
保存退出后再次重新启动设备让改动生效[^1]。
#### 3. 安装 Minicom 工具测试连接状态
Minicom 是一款常用的 Linux 下串行通讯程序,可用于初步验证两台装置间是否能成功建立联系。安装方法非常简单只需一条命令即可完成:
```bash
sudo apt-get update && sudo apt-get install minicom -y
```
之后按照提示设定波特率等相关参数并与目标设备尝试握手交流数据流信息[^2]。
#### 4. 物理连线注意事项
当准备实际动手接线前,请务必仔细核对接头定义以免损坏硬件组件。一般而言 USB-TTL 转换适配器会提供四个主要触点分别是 VCC(+), GND(-), TX (Transmit),以及 RX (Receive) 。对于本项目来说应该这样安排对应关系:
- 将转换器上的 3V3 或者其他合适电压等级接到 Raspberry Pi 上标记为 "3V3 Power" 的位置;
- 把 Ground(GND) 彼此相联结在一起形成共同的地平面基础;
- 最重要的一环便是交叉互连传输线路即把一方发出信号的那一端(TXD) 对准另一侧用来接收消息的那个针脚(RXD)[^3]。
#### 5. C语言编程实例演示基本收发流程
假设一切前期准备工作均已妥善处理完毕那么就可以编写简单的应用程序来进行实验啦!下面给出了一段基于 WiringPi 库实现的基础框架供参考学习之用:
```c
#include <wiringPiSerial.h>
#include <wiringPi.h>
#include <stdio.h>
int main(){
int fd;
char cmd;
wiringPiSetup();
/* Open Serial Port */
if((fd = serialOpen("/dev/serial0",9600))<0){
fprintf(stderr,"Unable to open serial device.\n");
return 1;
}
while(1){
if(serialDataAvail(fd)){
cmd = serialGetchar(fd);
switch(cmd){
case 'A':
serialPuts(fd,"Received Command A!\r\n");
break;
default:
printf("Unknown command received:%c\n",cmd);
}
}
usleep(100*1000); // Sleep for 100ms between checks.
}
serialClose(fd);
return 0;
}
```
编译运行上述源码之前记得预先装载好必要的依赖包比如 `libwiringpi-dev` 等[^4]。
---
阅读全文
相关推荐

















