我们的产品是运行最小Ubuntu的专用设备。我们在设备上的C ++应用程序定期扫描I2C总线,以检测是否有任何新的监视器/投影仪等。已连接。这通常很有效。但是,在两到三周内,我们会看到随机冻结。
随着它随机发生,我们无法一致地重现它。
从编码角度来看,我基本上扫描/ dev / i2c- *文件,open()
文件,并尝试使用ioctl()
读取前128个字节。
我想我们会做类似于Linux工具i2cdetect
的工作。在i2cdtect,
上的联机帮助页中,它指出"读取字节"已知将SMBus锁定在各种只写芯片上。想知道是否有人知道这可能是我们遇到的问题。问候。