首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I2C总线可写/可读标志在I2C文件描述符上

I2C总线可写/可读标志在I2C文件描述符上
EN

Stack Overflow用户
提问于 2018-10-11 16:43:33
回答 1查看 489关注 0票数 0

我想通过Raspbian上的I2C总线将多个温度计连接到Raspberry板上,使用包含pselect()的事件循环的C++应用程序。打开应用程序中的默认i2c-0文件描述符(并使用linux/i2c-dev.h接口),我会将文件描述符添加到pselect()fd_set *readfdsfd_set *writefds中。我想知道这个文件描述符是否会变成FD_WRITEABLEFD_READABLE?既然I2C是主从设置,那么温度计就不可能启动通信,因为读写操作都是由用户应用程序发起的,所以我认为FD_READABLE应该是不可能的,对吗?

我还没有发现任何关于使用pselect的I2C,在套接字文件描述符中,可读/可写意味着什么?为什么普通的档案不麻烦呢?是我偶然发现的最接近的答案:“可读意味着套接字接收缓冲区中有数据或FIN。可写意味着套接字发送缓冲区中有可用的空间。”是否缓冲了I2C设备?我可以依靠这个机制吗?

非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 17:18:01

所以有这样一个:

pselect()和select()函数应支持常规文件、终端和伪终端设备、基于流的文件、FIFO、管道和套接字。未指定引用其他类型文件的文件描述符的pselect()和select()的行为。

i2c-0是一个字符设备文件类型:https://www.kernel.org/doc/Documentation/i2c/dev-interface

pselect()确实不能保证该文件的任何内容。所以,你不能依赖它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52765133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档