- 我使用的是ch32v303
- 异常原因一般是环境干扰导致i2c总线状态错误,无法继续通信
热门产品 :
CH32V317: 互联型青稞RISC-V MCU
- 我使用的是ch32v303
- 异常原因一般是环境干扰导致i2c总线状态错误,无法继续通信
你好,异常之后主机端要STOP总线,重新开始Start才可以释放总线(sda,scl都为高电平)。
你好,问题不能解决
出现异常后,调I2C_GenerateSTOP后,I2C_FLAG_BUSY仍然为Set
将SCL短时间接地很容易复现这个问题
你好,如果你调用I2C_GenerateSTOP后,总线还不释放,那就是你的从机拉低了SDA线,将从机的SDA断开再量主机的SDA线,或者想办法让从机复位释放SDA线就行了。
你好,多谢回复。我尝试用逻辑分析仪抓总线数据,如上图
从机没有拉低SDA
调用I2C_GenerateSTOP()没有产生STOP,是否调用前有其他要求?
目前我通过重新初始化流程可以恢复总线。不过还是想了解下更轻量的处理方法。