我是靠谱客的博主 无私钥匙,最近开发中收集的这篇文章主要介绍[树莓派]树莓派OS - UART通讯踩坑记录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

之前树莓派刷的是 AndroidThings系统
串口通讯老简单了.
刷了树莓派OS,第一次弄,老费劲了.
把踩坑记录记一下

踩坑1 - 端口 MINIUART 不存在

由于之前是使用AndroidThings系统
直接使用的是 MINIUART,没想到根本不行.
查看了一下GPIO的引脚,我插入的是 5V、GPIO14、GPIO15、Ground
查了一下,GPIO15和GPIO15对应的是ttyAMA0
通过终端输入命令
cd /dev
ls
能查询到ttyAMA0端口确实存在


踩坑2 - 端口能够打开,但是发送指令,无任何反应

我将端口改为ttyAMA0后,不在报错说 端口不存在了.
但是发现
**serial.write()**发送Q1协议的指令后,根本没有任何反应

树莓派4b启用UART端口

通过这个博客,了解了UART端口和蓝牙之间的纠葛,然后按照改了以后,
有反应了…


踩坑3 - 权限不够: /dev/ttyAMA0

我怀疑我只是reboot了.
在我照着 踩坑2的博客对了一下,反应改设置的都设置了.
然后我直接关电源,重新开机.
好了~~~


踩坑4 - read_all()获取到的内容是 空字符串

原因很简单.

# 16进制格式的问询指令,ASCII是Q1rn
serial_command = bytes.fromhex('51 31 0D')
# 向UPS发送问询指令
serial_session.write(serial_command)
sleep(1)
data = serial_session.read_all().decode("gbk")

只需要加入一行 sleep(1)
只需要加入一行 sleep(1)
只需要加入一行 sleep(1)

这个问题和我之前 弄 气体传感器获取数据踩过的坑,有着异曲同工之妙.
实属不应该啊~

最后

以上就是无私钥匙为你收集整理的[树莓派]树莓派OS - UART通讯踩坑记录的全部内容,希望文章能够帮你解决[树莓派]树莓派OS - UART通讯踩坑记录所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部