O/* *i2ctest.c * Raspberry Pi I2C test using wiringPi library. * *Copyright (c) Nahid Alam. *********************************************************** *i2ctest is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * i2ctest is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * *********************************************************** */ #include #include #include int main (int argc, char *argv[]) { int fd; int data; int send=1; wiringPiSetup () ; fd=wiringPiI2CSetup (0x20) ; /*Use i2cdetect command to find your respective device address*/ if(fd==-1) { printf("Can't setup the I2C device\n"); return -1; } else { while(data != 6) { wiringPiI2CWrite(fd, send); data=wiringPiI2CRead(fd); if(data==-1) { printf("No data\n"); //return -1; } else if(data == send*3) { printf("Sending challenge"); wiringPiI2CWrite(fd, 4); } else if(data == 6) { printf("Read proper response \n"); break; } else { //print data printf("Waiting to send challenge"); } printf(" data=%d\n", data); } } return 0; }