串口通信modbus
-
openmv能否调用python库——modbus-tk实现modbus RTU主站通信
-
我猜应该不能,应该要针对micropython修改优化
https://github.com/pycom/pycom-modbus这个稍微改一下应该差不多。
-
例子已经找到了,CRC校验也做出来了,但是发送的时候出问题了
pin2.value(1)
send_data=[slave_addr,3,4,xave,yave]
send_crc=crc16(send_data)
send_data.extend(send_crc)
output_str=json.dumps(send_data)
uart.write(send_data)
pin2.value(0)
uart.write只能发送字符串,怎么才能发送十六进制
-
搞定了
pin2.value(1)
send_data = bytearray([slave_addr,3,4,3,5,1])send_crc=crc16(send_data) send_data.extend(send_crc) uart.write(send_data) pin2.value(0)
-
@kidswong999
小智老师你好,在做串口接收时, if uart.any(): # 判断是否有数据, 有的话就读入
tmp_data = uart.read() 执行到这的时候,如果有数据,就卡顿一会,大概1s是什么原因
-
来自星瞳实验室APP: MicroPython教程5-编码与串口https://singtown.com/learn/556
-
此回复已被删除!
-
一般的串口通信都是一帧一帧的,你可以定义\r\n为帧尾
然后只要readline就可以接受一帧
-
无法用帧尾,我用的是modbus RTU协议,刚用这个方法解决了tmp_data = uart.read(uart.any())