ArchLinux上的I2C用户空间通信

时间:2019-06-20 22:36:43

标签: linux embedded archlinux i2c smbus

我正在尝试实现一个应用程序,该应用程序将允许我从类似于https://www.kernel.org/doc/Documentation/i2c/dev-interface的用户空间访问i2c总线。 这里说使用smbus命令比使用简单的i2c read / write更为可取。有人可以帮助我,为什么会这样?

也可以使用smbus命令,我只是在标头中包含了这些文件而已 https://fossies.org/linux/i2c-tools/lib/smbus.c
https://fossies.org/linux/i2c-tools/include/i2c/smbus.h

因为SMBus函数不再在“ linux / i2c-dev.h”中定义。

参考:https://github.com/hallard/ArduiPi_OLED/issues/15
有没有更好的方法来实现此功能?
同样为什么从“ linux / i2c-dev.h”中删除了SMBus方法

1 个答案:

答案 0 :(得分:0)

http://www.ti.com/lit/an/sloa132/sloa132.pdf

直接使用I2C而不是I2C的最大缺点是速度,SMBus仅支持高达100KHz的频率,如果直接使用I2C,则可以高达2MHz的频率。

在RedHat上执行了相同的任务,最后我切换到I2C,并且一切顺利。