串口通信工作方式为:全双工,通过串口通信可以实现多机通信
使用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; }
打开串口助手编译运行 :