我正在尝试实现一个应用程序,该应用程序将允许我从类似于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方法
答案 0 :(得分:0)
http://www.ti.com/lit/an/sloa132/sloa132.pdf
直接使用I2C而不是I2C的最大缺点是速度,SMBus仅支持高达100KHz的频率,如果直接使用I2C,则可以高达2MHz的频率。
在RedHat上执行了相同的任务,最后我切换到I2C,并且一切顺利。