[树莓派]树莓派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是Q1\r\n
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)

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值