免费注册 查看新帖 |

Chinaunix

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

请教:如何读取设备文件的输出数据 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-29 09:50 |只看该作者 |倒序浏览
我最近在做触摸屏的驱动和microwindow的移植,在microwindow中会对触摸屏设备进行读取,首先是:

pd_fd=open(TS_DEVICE_FILE,O_NONBLOCK)打开设备文件,这里open后返回的是什么值,怎么打开的,调用的什么函数,

后面又用:
bytes_read=read(pd_fd,&event,sizeof(event))

来读取数据,这里read又是怎么读取,调用什么函数,按道理这里读到的数据应该是驱动里面吐出的数据,但是我不知道它是怎么个读法
驱动里面是调用中断函数进行触摸参数的读取,然后写入到下面s3c2410ts定义的结构中。

我的里面总是打印错误:
[ADS] wrong number of bytes 3 read from touch panel (expected 6)

我的evnet结构定义为:
struct ts_event{
           short x;
           short y;
           short pressure;
};

驱动的设备结构定义为:
struct s3c2410ts{
          struct input_dev *dev;
          long xp;
          long yp;
          int count;
          int shift;
}

static struct platform_driver s3c2410ts_driver = {
       .driver         = {
               .name   = "s3c2410-ts",
               .owner  = THIS_MODULE,
       },
       .probe          = s3c2410ts_probe,
       .remove         = s3c2410ts_remove,
       .suspend        = s3c2410ts_suspend,
       .resume         = s3c2410ts_resume,

};
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP