User`s manual
IA260/IA261/IA262/EM-2260 Linux User’s Manual  Programmer’s Guide 
 memset(&txframe, 0, sizeof(txframe)); 
 memset(&txframe, 0, sizeof(rxframe)); 
txframe.id = 12; 
 txframe.data_length = MAX_CAN_DATA_LENGTH; 
 txframe.info |= USER_EXTEND_ID; 
 for ( i=0; i<MAX_CAN_DATA_LENGTH; i++ ) 
 txframe.data.array[i] = 0x30+i; 
 i = write(fd1, &txframe, sizeof(txframe)); 
 printf(“Write port1 data return = %d\n”, i); 
 printf(“Write data contexts are following :\n”); 
 for ( i=0; i<MAX_CAN_DATA_LENGTH; i++ ) 
 printf("%c", txframe.data.array[i]); 
 printf("\n"); 
 usleep(1); 
 i = read(fd2, &rxframe, sizeof(rxframe)); 
 printf(“Read port2 data return = %d\n”, i); 
 printf(“Receive frame id = %d, length = %d\n”, rxframe.id, rxframe.data_length); 
 printf(“Receive data contexts are following :\n”); 
 for ( i=0; i<MAX_CAN_DATA_LENGTH; i++ ) 
 printf("%c", rxframe.data.array[i]); 
 printf("\n"); 
 close(fd1); 
 close(fd2); 
 return 0; 
} 
Makefile 
CROSS_COMPILE=arm-linux- 
CC=$(CROSS_COMPILE)gcc 
LD=$(CROSS_COMPILE)ld 
STRIP=$(CROSS_COMPILE)strip 
#STRIP=$(CROSS_COMPILE)strip -s 
TARGET=tcan 
TARGET1=canttrw 
all: debug release 
debug: $(TARGET).c $(TARGET1).c moxacan_ioctl.h 
 $(CC) -ggdb -o $(TARGET)-debug $(TARGET).c 
 $(CC) -ggdb -o $(TARGET1)-debug $(TARGET1).c 
release: $(TARGET).c $(TARGET1).c moxacan_ioctl.h 
 $(CC) -o $(TARGET)-release $(TARGET).c 
 $(CC) -o $(TARGET1)-release $(TARGET1).c 
6-7










