i2c_transfer的返回值:
Returns negative errno, else the number of messages executed。 即负数是错误代码。其他的是实际传输的消息的个数。i2c_transfer的第三个参数是希望传输的消息的个数。
errno具体定义在:
kernel-4.9\include\uapi\asm-generic\errno-base.h中:
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* Interrupted system call */
#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such&n

博客详细介绍了Linux内核中i2c_transfer函数的返回值含义,特别是负数错误代码,如-6对应ENXIO,表示没有找到设备或地址。文章深入解析了这些错误代码在I2C通信过程中的应用场景,帮助开发者理解和解决I2C通信问题。

7482

被折叠的 条评论
为什么被折叠?



