树莓派与电脑串口互相通信进行数据传输的配置过程

admin2020-12-15树莓派346

步骤

1.将树莓派的硬件串口与mini串口默认映射对换

简单来说:硬件串口由硬件实现,有单独波特率时钟源,性能高,可靠,而mini串口要依附CPU内核提供时钟。因此我们要用硬件串口,但是树莓派3b的硬件串口默认连接的是蓝牙,所以我们要改一下,把蓝牙映射到mini串口上,而释放硬件串口。

首先查看有没有相关文件

命令行 cd /boot/overlays

可以看到有 README 和 pi3-miniuart-bt-overlay.dtb 或者是 pi3-miniuart-bt.dtb ,后面的缺了(overlay)但是在README中的解释是相同的,因此,认为是同一文件。如果没有的话,参考博客 给出链接点击 http://ukonline2000.com/wp-content/uploads/2016/03/ 下载。

README文件中说明了此文件的功能是将树莓派3的蓝牙切换到mini串口(ttyS0),并且恢复硬件串口(ttyAMA0)到GPIO14&15引脚中。

2.查看并修改串口映射关系

 终端输入  ls -l /dev

红框里面表示串口映射,有的可能只显示1个,没关系,修改之后两个就都显示出来了。

现在来修改

命令行sudo nano /boot/config.txt

在该文件中加一行代码  dtoverlay=pi3-miniuart-bt

然后保存文件,重启树莓派。一定要保存然后重启。

然后我们再次查看 命令行 ls -l /dev  此时两个都有了并且对调了

可以看出,硬件串口(ttyAMA0)映射到了GPIO Tx(14) Rx(15) 引脚上。

3.禁用串口的控制台功能。

前面步骤已经交换了硬件串口与mini串口的映射关系,但是,现在还不能使用树莓派串口模块与电脑进行通信,因为,树莓派io口引出串口默认是用来做控制台使用的,即是为了用串口控制树莓派,而不是通信。所以我们要禁用此默认设置。

两个命令

sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service

然后命令行

sudo nano /boot/cmdline.txt
删除语句 console=serial0,115200

保存之后内容如下,有的可能不一样

然后重启树莓派,

至此,串口配置相关内容结束。

如果有串口程序可以测试了。


发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。