User's Manual
MiraBoxUser Guide –page22 / 27
b. compile the program
Here has an example “i2c_led.c” for you to debugging
/*i2c_led.c*GTI‐‐Globalscaletechnologies.,INC**/
#include<stdio.h>
#include<linux/types.h>
#include<stdlib.h>
#include<fcntl.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/ioctl.h>
#include<errno.h>
#defineI2C_RETRIES0x0701
#defineI2C_TIMEOUT0x0702
#defineI2C_RDWR0x0707
#defineI2C_M_RD0x0001
#defineI2C_M_NOSTART 0x4000 /*ifI2C_FUNC_PROTOCOL_MANGLING*/
#defineI2C_M_REV_DIR_ADDR 0x2000 /*ifI2C_FUNC_PROTOCOL_MANGLING*/
#defineI2C_M_IGNORE_NAK0x1000 /*ifI2C_FUNC_PROTOCOL_MANGLING*/
#defineI2C_M_NO_RD_ACK 0x0800 /*ifI2C_FUNC_PROTOCOL_MANGLING*/
#defineI2C_M_RECV_LEN 0x0400 /*lengthwillbefirstreceivedbyte*/
/*********definestructi2c_rdwr_ioctl_dataandstructi2c_msg,theymustbeconsistenttokernel*******/
structi2c_msg
{
unsignedshortaddr;
unsignedshortflags;
#defineI2C_M_TEN0x0010
unsignedshortlen;
unsignedchar*buf;
};
structi2c_rdwr_ioctl_data
{
structi2c_msg*msgs;
intnmsgs;/*thenmsgsdecidethenumofstartsignal*/
};
/***********themainprogram***********/
intmain()
{
intfd,ret;