如何解决为什么在没有连接设备的情况下ioctl返回0?
我有一个带有运动传感器的树莓派。当我运行ioctl()调用时,无论是否连接了运动传感器,它始终返回0?
ioctl(fd,I2C_SLAVE,_DEVICE_Addr)
解决方法
这是预期的行为。 I2C_SLAVE
ioctl不会检查设备是否存在。它根本不通过I2C总线进行通信。它只是进行一些检查以了解该地址是否已被使用,然后保存客户端地址以供后续调用。
不幸的是,这没有记录,但是您可以在代码https://elixir.bootlin.com/linux/v5.8/source/drivers/i2c/i2c-dev.c#L401
中阅读它。版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。