www.pudn.com > i2c_set.rar > iaccess.c
#include#include #include #include #include //#include "i2c-algo-GM.h" //copy from I2C driver struct i2c_GM_msg { unsigned char addr; /* device address */ unsigned char waddr; /* word address */ short len; /* msg length */ char *buf; /* pointer to msg data */ int clockdiv; /* for clock div */ int multiread_once ; /* decide to read multibyte once. if 0: read one byte by one; if 1: read multibyte once*/ }; static struct i2c_GM_msg i2c_ap ; static int fd ; static void help(void) { printf("read command: [iaccess 1 address arg1 arg2 arg3 ... ]\n"); printf("\t arg1: offset + data bytes number\n"); printf("\t arg2 arg3 ...: value\n"); printf("write command: [iaccess 0 address arg1 arg2 arg3 ... ]\n"); printf("\t arg1: offset + data bytes number\n"); printf("\t arg2 arg3 ...: value\n"); return; } int main(int argc,char *argv[]) { int ret=0, i, rw, addr, offset; int adapter_nr =0 ; char filename[20], *stop_at; unsigned char buf[20]; if (argc <= 1){ help(); return -1; } rw = strtol(argv[1], &stop_at, 0); if(rw == 1){ //for check READ function addr = strtol(argv[2], &stop_at, 0); offset = strtol(argv[3], &stop_at, 0); //for(i=0; i