test_org.c~

来自「linux下hpi口驱动程序」· C~ 代码 · 共 74 行

C~
74
字号
#include <stdio.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>
int main(int argc,char* argv[]){
int testdev;
int buf[10]={1,2,3,4,5,6,7,8,9,0};loff_t offp;long pos;unsigned int init_para[1];init_para[0] =  0x81230000;// 参数判断if (argc != 2 ) {	printf("The program need 2 arguments \n");	exit(0);}if (*argv[1] != 'w' & *argv[1] != 'r'){	printf("The second argument must be 'w' or 'r' \n");	exit(0);}// 设备打开	
testdev = open("/dev/HPI",O_RDWR);
if ( testdev == -1 )
{
printf("Cann't open file ");
exit(0);

}//初始化寄存器pos = 4;offp = lseek(testdev,pos,0);if(write(testdev,&init_para[0],1))    printf("test.c: init Reg ok \n");else     printf("test.c: init Reg fail \n");//移动文件位置//pos = (long)*argv[2];//printf("argv[2] : %c\n",*argv[2]);printf("pos : %lx\n",pos);printf("offp is %p\n",offp);//printf("input offset :");//scanf("%lx",&pos);pos = 8;offp =lseek(testdev,pos,0);// 读写判断if (*argv[1] == 'w') {
	if(write(testdev,buf,10))    		printf("test.c: write ok \n");	else 		printf("test.c: write fail \n");}else if (* argv[1] == 'r') {	if(read(testdev,buf,10))		printf("test.c: read ok \n");	else 		printf("test.c: read fail \n");}//设备关闭
close(testdev);return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?