7

这里平淡无奇的反应让我想知道这一点

我一直背负着一个设备(Analog Devices 525x)(来自数据表,第 16 页):

在内部 [EEPROM] 写周期中禁用 I2C 接口。

这似乎不公平,例如“我现在要从沙发上下来,所以暂时不要使用它,因为我让座垫裂开了一个”。老实说,为什么这应该是我的问题?

无论如何,数据表表明确认轮询是答案 - 进入 Linux 内核...... Linux GPIO bit bashed I2C 驱动程序是否提供了这样做的机制? 本质上是发送一个设置了写入位的地址并继续这样做,直到出现 ACK。

我在 ARM 上使用 2.6.14 并带有反向移植的 GPIO 位抨击驱动程序(我认为来自 2.6.19)。

4

2 回答 2

1

它似乎不是太现成的,但是

您可能需要查看在您的补丁程序中是否有一个像 Flag I2C_M_NOSTART 这样的协议修改标志。至少有一种方法可以做到(诚然是一种混乱的方式)

我希望为您着想,您不需要将普通的 i2c 设备放在同一总线上。

老实说,硬件供应商一直在做这样的事情。他们认为问题“已解决”,只要它成为您的问题。

我看到那里有很多损坏的 I2C,你可以让其他人的生活更美好。

于 2009-08-28T00:52:55.093 回答
0

听起来您需要重写 I2C 系统的内核驱动程序以允许这样做?

另外,升级内核怎么样,看看自 2.6.14 以来发生了什么,这是一个相当老的内核版本。

于 2009-08-16T19:40:02.527 回答