我在与 linux 中的 i2c 设备通信时遇到问题。该设备连接到通常显示为 /dev/i2c-0 的 SMBus。我的驱动程序的 init 函数被调用,驱动程序通过 i2c_add_driver 注册,但是驱动程序永远不会被探测。
在我的硬件板的初始化函数中,我调用了 i2c_register_board_info(n, i2c_board_info, array_size)。这里 n 应该是 0 以便在 SMBus 上注册设备,但是无论我将 n 设置为什么,都会导致 SMBus 显示为 /dev/i2c-(n + 1)。
有任何想法吗?