大家好,我是基于2410和linux2.4.18做的IIC驱动,是将一个IIc适配器挂载上linux上现成得IIC总线上得,适配器已经成功挂载上去了,应用程序进行read操作,时返回得也是成功得,而进行读的时候总是返回错误,不能进入我IIC驱动中读的代码,我在应用程序中查看变量errno时,读取的值是9(EBADF),表示文件句柄非有效,或是该文件已经关闭,但是我在打开文件同时,用read时也是用该句柄打开的,也能进入我驱动里读的代码!而且更奇怪的是,我直接用echo 999 > /dev/i2c/0进行写操作时,也能成功进入驱动中读代码?这是为何呢,望大侠指点迷津! 读函数很简单的一个: if((ret=write(fd,buf,8))>0)printf("write is successful
"); else printf("ret = %d,errno = %d
",ret,errno); |