系统迁移中,暂时无法访问,所有数据会迁移到新的网站。
OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修。
发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
每一个新的提问,单独发一个新帖子
帖子需要目的,你要做什么?
如果涉及代码,需要报错提示与全部代码文本,请注意不要贴代码图片
必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
用openmv发送十六进制数据
-
我的编码器是rs485通信的,而且是应答式的,必须发送16进制数据3E 00 00 10 0C编码器才能回传数据,我就加了个485转ttl模块,下面是我写的代码,不知道哪里出错了,在openmv上显示不成功?但是在电脑串口助手上成功了。帮我一下,谢谢你了!
# UART Control 串口通信 import time from pyb import UART uart = UART(3, 115200) uart.init(115200, bits=8, parity=None, stop=1) # init with given parameters def sending_data(): global uart date=bytearray([0x3E,0x00,0x00,0x10,0x0C]) #print(date) uart.write(date) def recive_data(): global uart if uart.any(): tmp_data = uart.readline() #uart.write("RECIVED : %s\n"%tmp_data) print(tmp_data) while(True): sending_data() recive_data() time.sleep(10) 
-
代码看上去没什么问题。
我不清楚硬件。你的TTL转RS485模块,是全双工的?
-
TTL转RS485模块是半双工的,但是会自动切换流向。
我的代码是不是向编码器发送了 3E 00 00 10 0C ,openmv会不会多发了什么东西?比如b或者\r\n?
我的接收会不会是16进制?如果是的话,openmv的接收函数要不要变?或者接收程序里的某些代码要变?
-
发送的数据,你在软件里都看到了吧。
接受的话,可能不用readline(),因为我不知道你设备返回的数据是不是回车换行。
uart.read(1)可以试一下。
-
这个是我发送的数据时显示的图片,但是还是接受不了回传的16进制数据?又或者发送都错了,所以没回传?
-
下面是我发送的显示图片,发送3E和1E不一样啊
-
什么叫做“发送3E和1E不一样”?