串口通信工作方式为:全双工,通过串口通信可以实现多机通信
使用USB-TTL转换模块(USB转串口模块)或USB转串口线将[树莓派]与电脑连接, TXD连接RXD,交叉连, 且USB-TTL转换模块必须接地,否则因为电压原因数据交互失败。
初次使用树莓派串口需要进行对串口进行配置
修改cmeline.txt文件
cd /boot
sudo vim cmdline.txt
删除部分内容
dwc_otg.lpm_enable=0 console=serial0,115200(删除) console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
sudo reboot 重启
代码示例:
#include <stdio.h>
#include <wiringPi.h>
#include <wiringSerial.h>
int main()
{
int fd;
int cmd;
wiringPiSetup();
fd = serialOpen("/dev/ttyAMA0",115200);
while(1)
{
while(serialDataAvail(fd) != -1)
{
cmd = serialGetchar(fd);
printf("get serial :%c\r\n",cmd);
if(cmd == '1')
{
serialPuts(fd,"zgl 1\r\n");
}
if(cmd == '2')
{
serialPuts(fd,"zgl 2\r\n");
}
if(cmd == '3')
{
serialPuts(fd,"zgl 3\r\n");
}
}
delayMicroseconds(1000000);
}
return 0;
}
打开串口助手编译运行 :