如何降低I2C速度?

我用CH341A的SCL SDA读取I2C芯片,用了CH341StreamI2C方式,可是速度太快了,我也试过CH341SetStream 降低20K,可是速度依然很快。也想过用其他脚来模拟,但是这样模拟的I2C速度又太慢,请问如何控制速度?

可以通过CH341SetStream来设置速度,支持4种速度(20KHZ,100KHZ,400KHZ,750KHZ)默认为100KHZ 当然也可以使用GPIO来模拟I2C时序,一次电平变化要1-2ms时间


一次电平变化要1-2ms时间,对于我的从设备慢了点,一次电平变化要0.5ms就很好了,我意思是官方能否修改dll,通过CH341SetStream来设置速度为1KHZ?


芯片没有这个功能,所以通过修改dll无法实现你的需求!


我还是想通过CH341WriteRead mCH341A_CMD_I2C_STREAM的方式来,每发送一个字节的数据就检测就延时,然后检测从设备是否应答,不知能否实现? 这样即可控制速度,又可以保证数据正常送出。


数据里面有协议,你不清楚,请不要这样处理! 其他的速度ch341a是不支持的。


ch341如果能设置I2C速度到10K就是个非常理想的IC了,我发现CP2112同样有I2C功能,而且I2C的速度可以无级设置,CH341为什么就不考虑呢?


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