我使用LM3S2B93 I2C 模块1 作为主机,使用中断的方式。在连续通讯时,在判断I2C状态时I2CMasterBusBusy(I2C1M_BASE),当总线忙时,发现SDA为低,此时 I2CMasterControl(I2C1M_BASE, I2C_MASTER_CMD_BURST_SEND_ERROR_STOP); 总线没有响应。不知道什么地方没有注意到。
谢谢!
你的问题没说得清楚,
(1)总线是否已经外挂了上拉电阻?
(2)I2C的从设备是什么IC?
(3)你怀疑的总线错误是主机的总线出错还是从机的总线出错?如果是主机的出错,可以复位I2C模块,重新初始化,如果是从机总线出错,则需要找找从机IC的规格书,看看是否有复位I2C总线的功能(例:主机发送特定的数据过去)
(4)最好拿示波器或逻辑分析仪来看一下波形,这样是最快的,马上就可以知道是主机出了问题还是从机出了问题