linux - Linux 内核中的 I2C 写确认轮询

标签 linux arm i2c

The lackluster response here made me wonder this.

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

disables the I2C interface during the internal [EEPROM] write cycle.

这似乎不公平,因为“我现在要离开沙发了,所以暂时不要使用它,因为我让一个人撕裂了座垫”。老实说,为什么那会是我的问题?

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

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

最佳答案

看起来不太现成,但是

您可能需要查看像 Flag I2C_M_NOSTART 这样的协议(protocol)修改标志 只是不同,在你的补丁中。 至少有一种方法可以做到(诚然是一种困惑的方式)

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

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

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

关于linux - Linux 内核中的 I2C 写确认轮询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1195659/

相关文章:

linux - 如何为单声道配置 oracle instantclient?

linux - 使用 jq 从 json 中排除不需要的名称

assembly - 溢出与进位标志,非常基本的术语

linux - 删除 csv 文件中的自动换行 - Linux

c# - 单元测试 c# Windows 10 IoT 核心应用程序(错误 : DEP0700)

assembly - ARM assembly 中的 movw 和 movt

linux - I2C/SPI面试题

linux - 如何从 Linux 内核读取 I2C EEPROM - ARM TI AM3352

python - 在 Raspberry Pi 上使用 Python smbus - 与语法混淆

linux - shell如何使用行尾的值重复文本中的行