hwa_super 发表于 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定义的结构中。

我的里面总是打印错误:
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,

};
页: [1]
查看完整版本: 请教:如何读取设备文件的输出数据