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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36326623/article/details/79780061

    我们经常需要用串口来互发消息,但是树莓派的串口不像单片机那样,稍微有点麻烦。本文参考汇总网上的关于树莓派串口相关资料,快速设置好串口。


参考链接:

1.https://blog.csdn.net/qq_31396093/article/details/58640995

2.https://www.cnblogs.com/lulipro/p/5992172.html


步骤

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

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



然后重启树莓派,

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

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

没有串口程序怎么办?请看下篇。


展开阅读全文

没有更多推荐了,返回首页