0

我目前正在尝试在 BeagleBone Black(运行 debian)和从机之间设置单向 I2C 总线(仅用于 SDA,主机仅与从机通信,ACK 位将被忽略)。我知道还有其他可用的总线会更容易,但它必须是 I2C。

我可以使用通常的 SDA(读写)在我的 2 台设备之间毫无问题地交谈。我尝试使用二极管,但无法以这种方式进行任何通信(运行我的代码会出现以下错误:IOError: [Errno 121] Remote I/O error)。我不知道是什么导致了错误,可能是因为二极管而无法检测到总线上的从机?

我正在使用 smbus python 库(https://fossies.org/dox/i2c-tools-3.1.2/smbusmodule_8c_source.html)。查看 IOerror 的来源(执行 write_byte 时),我看到了对 i2c_core 驱动程序的调用。

我的问题如下:我怎样才能从我的主人向我的奴隶写信并且让它不期待一个 ACK​​ 位(如果这是问题的原因),或者允许它在我描述的设置中写入?(在 SDA 线上有一个二极管,我还没有考虑到正向压降,因为我相信它只是与软件相关的 atm)。

我需要修改驱动程序吗?

4

0 回答 0