单向I2C和Linux驱动程序

时间:2016-09-21 12:00:47

标签: python i2c smbus

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

我可以使用通常的SDA(读取和写入)在我的2个设备之间进行通信,没有任何问题。我尝试使用二极管,我不能通过这种方式进行任何通信(运行我的代码会给我以下错误: IOError:[Errno 121]远程I / O错误)。我不知道是什么导致了错误,也许因为二极管而无法检测总线上的从机?

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

我的问题如下:我如何从我的主机写入我的从机并且不期望ACK位(如果这是问题的原因),或者允许它在我描述的设置中写入? (在SDA线上有一个二极管,我没有考虑到正向压降,因为我认为它只是与软件有关的atm)。

我需要修改驱动程序吗?

0 个答案:

没有答案