这里乏善可陈的反应让我想到了这一点.
我一直背负着一种器件(Analog Devices 525x)(来自数据表,第16页):
在内部[EEPROM]写周期内禁用I2C接口.
这似乎不公平,因为" 我现在正从沙发上下来,所以不要暂时使用它,因为我让一个人在座垫上扯下来 ".老实说,为什么这是我的问题?
无论如何,数据表表明确认轮询就是答案 - 进入Linux内核...... Linux GPIO位是否为基础?I2C驱动程序是否提供了这样做的机制? 基本上发送写入位设置的地址,并继续这样做,直到出现ACK.
我在带有后端口GPIO位抨击驱动程序的ARM上使用2.6.14(我认为是2.6.19).
看起来并不太现成,但是
您可能需要在补丁中查看协议修改标志,例如标志 I2C_M_NOSTART,只是有所不同。至少有一种方法可以做到(诚然是一种混乱的方法)
我希望为了您的利益,您不需要将普通的 i2c 设备放在同一总线上。
老实说,硬件供应商一直在做这样的事情。只要问题成为你的问题,他们就认为问题“已解决”。
我看到很多 I2C 损坏,你可以让其他人的生活变得更美好。