Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

I2C read write error in I2C User application

44 views
Skip to first unread message

kracks

unread,
Oct 21, 2009, 10:40:51 AM10/21/09
to
Hi all,
I have a I2C based touch screen driver TSC2003 which i obtained
from open source.
Ref: http://lists.lm-sensors.org/pipermail/lm-sensors/2005-November/014227.html

I added the driver to kernel (2.6.10)tree and I2C communication in
hard ware is ok.

After booting the system i didnt find any device entry.
I manually created the device entry by
mknod i2c-0 -c 89 0
I am writing an application in which i am polling the I2C device
for reading X anf Y position.


The application source is as follows
int tscfd;
int res;
int addr = 0x48;
#define I2C_SLAVE 0x0703

if ((tscfd = open("/dev/i2c-0",O_RDWR)) < 0)
{
printf("Error Occured while opening Device File.!!
\n");
exit(1);
}
else
{
printf("Device File Opened Successfully !!\n");
}
res = ioctl(tscfd,I2C_SLAVE,addr);
if (res < 0)
{
printf("Error Occrued inside IOCTL");
exit(1);
}

There is no error in the above two functions.
It returns success.

I created a thread and inside that thread polling for i2c read

static void PollingTouchRead(void *arg)
{
char buf[5];
buf[0] = 0xc2; //Reads X position
int ret = 0;
while(1)
{
ret = write(tscfd,buf,1);
if(ret < 0)
{
perror("write ERROR");
}
ret = read(tscfd,buf,1);
if(ret < 0)
{
perror("Read ERROR");
}
}

}
I am getting Read and Write Error Always
When i monitor SCL and SDA i get pulse but the statement throws error

Suggest me if there is any error in the above stuffs,If problem is
there any other way to approach.


Regards
Kirthika

0 new messages