On Thursday, December 11, 2014 11:39:35 AM UTC+5:30, aryaksa...@gmail.com wrote: > > Hi, > > I am trying to read two bytes of data from a board(slave) using > BBB(master) through i2c interface. > > I connected my board's SDA and SCL lines to P9_18 and P9_17 of BBB > respectively. > > My code is > > #include <stdio.h> > #include <errno.h> > #include <string.h> > #include <fcntl.h> > #include <stdlib.h> > #include <unistd.h> > #include <linux/i2c-dev.h> > #include <sys/ioctl.h> > > > int main() > { > int fd,i; > int addr = 0x43; > char buffer[10] = {0}; > > fd = open("/dev/i2c-1", O_RDWR); // opening i2c-1 file. returns a file > descriptor used by read > if(fd < 0) > { > printf("i2c failed to open\n"); > } > > if(ioctl(fd, I2C_SLAVE, addr) < 0) > printf("failed to acquire bus\n"); > > if(read(fd,buffer,2) != 2) //reading 2 bytes of data > { > printf("i2c read failed\n"); > > } > else > { > for(i=0;i<2;i++) > printf("the data is %d \n",buffer[i]); > } > > > return 0; > } > > > > > > > I got output --- "i2c read failed" > > What is the problem in my code? Or any problem in hardware? When I checked > the following command, I got output like > > root@beaglebone:~# i2cdetect -l > i2c-0 i2c OMAP I2C adapter I2C adapter > i2c-1 i2c OMAP I2C adapter I2C adapter > root@beaglebone:~# ls -l /sys/bus/i2c/devices/i2c-* > lrwxrwxrwx 1 root root 0 Jan 1 2000 /sys/bus/i2c/devices/i2c-0 -> > ../../../devices/ocp.3/44e0b000.i2c/i2c-0 > lrwxrwxrwx 1 root root 0 Jan 1 2000 /sys/bus/i2c/devices/i2c-1 -> > ../../../devices/ocp.3/4819c000.i2c/i2c-1 > > > Can anyone find problem? Please reply. >
I tried i2cget command but it also showing Error: Read failed. What it means? Any hardware problem? How i trace the problem? -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.