ch341怎么和单片机通信

使用ch341dll库,通过i2c与arduino通信,目前测试的是,只能发送到arduino,但是接收不到arduino发送过来的数据,使用的是ch341writei2c函数,请问用什么办法能读到单片机发送过来的数据吗

您好,使用CH341读取I2C数据时,需要调用ch341readi2c函数,或者调用CH341StreamI2C函数进行多字节的数据读写。

另外,CH341的I2C是固定作为Master来使用的,从机务必在CH341的SCL期间将数据送至总线上。

image.png

image.png


arduino下位机设置的是400K的速率,但是只有在ch341setstream(0,0)的时候才能正确读取数据,但是此时调用ch341writei2c返回值为false,ch341setstream(0,1)或ch341setstream(0,2)都不能正确读取


您好,可以先尝试使用如下链接中资料包中的工具进行读写测试。链接:http://www.wch.cn/downloads/CH341EVT_ZIP.html 以排除是否为代码侧问题。可以尝试从低速开始测,因为CH341的地址和数据操作间没有延迟,要排除下位机来不及准备数据的可能性。


只有登录才能回复,可以选择微信账号登录