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