WCH沁恒单片机
直播中

技术牛人小渣子

11年用户 804经验值
私信 关注
[问答]

CH341怎样收发大于26字节的消息?

CH341缓冲区长度32字节,I2C消息最长只有26字节,怎样收发大于26字节的消息?
  

回帖(5)

吴秀英

2022-7-12 09:42:20
您好,CH341的I2C操作。对于单字节读写,可使用如下API函数,iDevice对应上图Address Byte,iAddr对应Command Byte

此外,CH341DLL还提供了连续多字节读写的接口API,如下所示:
该API的发送和接收长度支持最大4K。关于长度问题,底层会自动分包,也即超过端点大小长度时会自动拆分成多个USB数据包传输。用户直接使用即可。
1 举报

荣徽

2022-7-12 09:42:27
谢谢!那么用类似方法Linux下用usb_bulk_msg分包收发也可以吧。
举报

吴晓成

2022-7-12 09:42:29
应用层的lib已经做了自动分包处理。用户无需关注分包和组包细节,直接调用我们提供的lib库接口函数即可。
举报

王桂芳

2022-7-12 09:42:34
调用CH341OpenDevice(0)后调用CH341ReadI2C(0,0xD0,0x30,data),输出波形上的设备地址0?设备是OK!
另外你们I2C通信接口是需要自己根据命令封装start,stop,out,in吗,还是直接调用CH341ReadI2C/CH341WriteI2C/CH341StreamI2C?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分