树莓派使用串口通信【如果总不成功,就看此贴】
前言
我的是树莓派3B,网上看了很多用串口连接树莓派的教程,结果都操作失败了。我的两根USB转TTL线的型号是CH340G和CP2104,windows下使用串口调试工具,只有TX能传入数据没有RX返回数据。短接USB转TTL的TX和RX,测试正常。短接树莓派的TX和RX测试也正常。后面发现不要用插入设备的时候windows默认安装的驱动,虽然看起来默认安装的驱动供应商也是wch.cn。但是这个驱动就是不行,于是我问商家要了驱动,安装后,不管是serial0指向mini串口(ttyS0)还是硬件串口,都能成功用putty连上了树莓派。我的/boot/firmware/cmdline.txt保留console=tty1 console=serial0,115200,我觉得打印点控制台消息影响不大,看看开机启动过程也不错(这里的console=serial0,115200和raspi-config中串口配置的第一个yes有关,既启用login shell)。
操作方法
-
使用raspi-config命令打开串口功能
执行raspi-config键盘选中: Interface Options -> Serial Port -> yes -> yes # 第一个yes是启用login Shell(yes后,/boot/firmware/cmd.txt中会多了console=serial0,115200)。第二个yes是启用串口功能。
然后重启树莓派,重启后执行raspi-gpio get就会发现:GPIO 14: level=1 alt=0 func=TXD0 GPIO 15: level=1 alt=0 func=RXD0查看/boot/firmware/config.txt的[all]字段也会多出一行
enable_uart=1 -
因为树莓派3B的蓝牙会占用硬件串口,所以先停止蓝牙服务。
systemctl disable hciuart; systemctl stop hciuart# 禁止蓝牙服务启动,停止蓝牙服务 -
启用硬件串口(可选)
/boot/firmware/config.txt的[all]字段下添加dtoverlay=disable-bt重启树莓派后,执行
ls -al /dev/ser*会发现serial0指向了 ttyAMA0 。 -
连接USB转ttl和树莓派
树莓派3B 两排靠近外侧的那排GPIO针,从靠近螺丝孔的开始数,第3、4、5分别是GND、TX、RXUSB转TTL适配器 树莓派GPIO GND <==> GND RXD <==> TXD TXD <==> RXD -
安装驱动
不要使用windows自动识别并安装的驱动,使用这个驱动,在串口调试工具下只能看到TX传输了N字节的数据,RX始终为0个字节。所以需要用商家的驱动。我的usb转ttl线的芯片是CH340G芯片的,我直接使用Setup.exe安装的。另一条usb转ttl线是CP2104芯片的,使用CP210xVCPInstaller_x64.exe来安装驱动。下面的CH340G和CP210*的驱动在64位win10下测试通过。
链接: https://pan.baidu.com/s/18OtollPteo3niZ3vCualyA?pwd=grep 提取码: grep -
windows端查看COM口,并设置好。
在设备管理器中,我们能看到新安装的串口,显示USB-SERIAL CH340(COM5)。设置该串口的波特率为115200 -
putty连接树莓派
打开putty,选中Serial, 串口号填COM5(每台电脑都不一样,要在设备管理器中查看)。speed填写波特率115200。然后点Open就可以了。注意点击Open后,putty是个黑框框,要敲一下回车,才能看到登录提示。
- Linux PC怎么通过串口连接树莓派
可以使用cutecom、putty、minicom, 没错,putty也有linux版本。使用时,linux PC执行lsusb查看一下是否有USB serial适配器,有的话说明usb转ttl适配器已经被识别。执行ls /dev/tty*USB*就能看到usb转ttl适配器(我的是/dev/ttyCH341USB0)。注意,1-执行ls -l /dev/ttyCH341USB0会发现适配器是root用户,dialout组的,其它用户是无法读写的。所以如果要让普通用户使用串口,那么就要把普通用户加入dialout组。 2-如果使用minicom,请执行minicom -s把Serial Port setup中的HardWare Flow Control 改成no, 否则会异常。minicom具体设置方法参考这个老兄的博文: https://www.cnblogs.com/zhangchaoyang/articles/1926848.html 。 设置好后,直接执行minicom就可以进入树莓派的命令行了。
浙公网安备 33010602011771号