概述
之前树莓派刷的是 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通讯踩坑记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复