看了您的openmv与stm32通信的文章,想问一下,openmv可以一次性发8位数据吗?可以的话,要配置哪些呢?
【相关推荐】
1、初始化以及uart参数设置
uart = pyb.UART(3, 115200) #串口3,波特率115200
uart.init(115200, bits=8, parity=None, stop=1) #8位数据位,无校验位,1位停止位
2、将数据和帧头(一般来说是两个帧头)打包,发送打包好的数据
关于函数的用法请见:
ustruct.pack(fmt,v1,v2,… )
根据格式字符串fmt打包值v1,v2 … 。返回值是对值进行编码的字节对象。
fmt 参数意义
def send_data_packet(x, y):
temp = struct.pack("<bbii", #格式为俩个字符俩个整型
TITLE1, #帧头1
TITLE2, #帧头2
int(x), #数据1
int(y)) #数据2
uart.write(temp) #串口发送
可以根据自己的需求添加变量以及帧头。
一帧数据的每一个Byte必须要以字节的显示发送(data = bytearray([x,y])),而不能是用16进制发送(uart.write(“%x %x \r”%(x,y))),他们两个函数在串口助手里面看到的内容是一样的(大小写的区别),但是后者是无法让单片机接收到的。