python – Pyserial发送多个字节
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Pyserial发送多个字节,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1608字,纯文字阅读大概需要3分钟。
内容图文
![python – Pyserial发送多个字节](/upload/InfoBanner/zyjiaocheng/697/f2f5bc2806964fe59625c7870c11ac64.jpg)
第一次海报.
在我开始之前,我只是想说我是一名初学程序员,所以请耐心等待,但我仍然可以顺利进行.
我有一个名为Pololu Wixel的无线设备,可以无线发送和接收数据.我正在使用其中两个.一个发送,一个接收.它是USB,所以它可以直接插入我的Raspberry Pi或PC,因此我所要做的就是通过终端连接到COM端口以读取和写入数据.它附带一个测试终端程序,允许我发送1-16个字节的信息.我已经完成了这个,我发送并收到了2个字节(这就是我需要的)没有问题.
现在这是我的问题:当我打开Ubuntu终端并使用Pyserial连接到正确的发送Wixel COM端口并写入大于255的值时,我的接收COM端口,也连接到另一个终端实例也使用Pyserial,没有我没有读取正确的值,因此我认为我无法读取和写入两个字节,但只能读取一个字节.在做了pyserial文档中的在线阅读之后,我相信,不知道,Pyserial一次只能读写5,6,7或8位.
我希望我的问题现在很明显.我怎么能把2个字节的信息写入我的设备的COM端口并将其发送到需要读取这2个字节的其他设备,所有这些都使用pyserial?
我希望这一切都有道理,我将非常感谢任何帮助.
谢谢
UPDATE
好的,我想我现在已经开始了.所以我做了:
import serial
s=serial.Serial(3) //device #1 at COM Port 4 (sending)
r=serial.Serial(4) //device #4 at COM Port 5 (receiving)
s.timeout=1
r.timeout=1
s.write('0x80')
r.readline()
//Output said: '0x80'
s.write('hh')
r.readline()
//Output said: 'hh'
老实说,我认为这解决了我的问题.也许从来没有一个问题开始.也许我可以从程序中获取我的16位二进制数据,例如“1101101011010101”,把它变成字符(我之前看到的东西叫做char(),我认为就是这样)
然后使用s.write(‘WHATEVER’)
然后使用r.readline()并转换回二进制
解决方法:
您可能需要将数字分成多个字节,并以小端或大端顺序发送.
例如:
low_byte = number % 256
high_byte = number // 256
这应该会让你达到65535.你可以用high_byte * 256 low_byte重建另一边的数字.
内容总结
以上是互联网集市为您收集整理的python – Pyserial发送多个字节全部内容,希望文章能够帮你解决python – Pyserial发送多个字节所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。