免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1831 | 回复: 1
打印 上一主题 下一主题

I2C设备数据通信问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-18 15:56 |只看该作者 |倒序浏览
我有个设备挂在I2C总线上,系统是linux,想要实现I2C设备与总线的通信,如应用程序写0x1 0x2两个字节到设备,设备回复0x3,0x4。
目前设备驱动已实现读、写接口, 我想问的是,在应用程序端,我通过write(fd, write_buf,2)写完0x1 0x2,然后调用read(fd,read_buf,2), read_buf可以读到0x3 0x4吗?I2C上的数据会pending等待read的读吗?
如果不是,请问该如何实现,谢谢!

论坛徽章:
0
2 [报告]
发表于 2012-09-28 15:28 |只看该作者
看你如何实现你的驱动了。

i2c 部分有两种,一种是直接写i2c_client的驱动挂到原来的i2c subsystem里去, 然后一般是实现个字符设备的结点来给 user space 来访问, 具体实现的 read/write 决定了你在user space 操作 设备结点的行为。

还有一种是在用户空间下直接操作i2c adapter, 但这种方式需要把 adapter 通过/dev/下的设备文件结点暴露给 user space的程序。

有个网站好象是 lm-sensor.org 有 用户空间直接操作 adapter的代码和例子.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP