⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netdaq.c

📁 at91rm9200双端口RAM驱动及测试程序
💻 C
字号:
//-----------------------//Drv test//Win2nix@126.com//2006-12-16//-----------------------#include "netdaq.h"int main(){		int addr,num,num_of_write,temp,i;	u16 *buf;		//u16 num;		u16 data,sem;		//u16 buf;		int daq_dev,sem_dev;		buf = (u16 *)malloc(9000);			if((daq_dev = open(DEV_NAME, O_RDWR)) == -1){		perror("Open_DaqDev error\n");		exit(1);	}		if((sem_dev = open(SEM_NAME, O_RDWR)) == -1){		perror("Open_SemDev error\n");		exit(1);	}	printf("***********************************************\n");	printf("**Dual Port RAM Test PROM.*********************\n");	printf("**Des by win2nix@126.com***********************\n");	printf("**Steps are:***********************************\n");	printf("**1.Sram write,Enter 1 begin test,others abort*\n");	printf("**2.Sram read,Enter 1 begin test,others abort**\n");	printf("**3.Sem grasp,Enter 1 begin test,others abort**\n");	printf("**4.Sem release,Enter 1 release,others abort***\n");	printf("***********************************************\n");			while(1){				printf("***********\n");		printf("Test Write:\n");		printf("***********\n");		printf("Enter 1 to begin test,0 to abort\n");		scanf("%d",&num);		if(num == 1){			printf("Enter the Location you want to write.Examp:5\n");			scanf("%d",&addr);			printf("Enter the Num of Data you want to write.Examp:5\n");			scanf("%d",&num_of_write);			printf("Num_of_write: %d\n",num_of_write);			for(i=0;i<num_of_write;i++){				printf("Enter the Data %d you want to write.Examp:0x55AA\n",i);				scanf("%x",&num);				buf[i] = num;			}			lseek(daq_dev,addr,0);			write(daq_dev,buf,num_of_write*2);		}				printf("**********\n");		printf("Test Read:\n");		printf("**********\n");		printf("Enter 1 to begin test,0 to abort\n");		scanf("%d",&num);		if(num == 1){			printf("Enter the Location you want to read.Examp:5\n");			scanf("%d",&addr);			printf("Enter the Num of Loc you want to read.Examp:6\n");			scanf("%d",&num);			lseek(daq_dev,addr,0);			read(daq_dev,buf,num*2);			for(i=0;i<num;i++)				printf("%x\n",*(buf+i));				//printf("%x\n",buf);		}							printf("**********\n");		printf("Test Sem grasp.\n");		printf("**********\n");		printf("Input 1 to grasp Sem.Others to abort Sem test\n");		scanf("%d",&num);		if(num == 1){			lseek(sem_dev,0,0);			while(1){				sleep(1);				data = 0x0000;				write(sem_dev, &data, 2);				read(sem_dev,&sem,2);				if ((sem&0x0001) == 0x0000){					printf("sem: %x\n",sem);					printf("sem grasped!\n");					break;				}							}			//}		}		printf("*****************\n");		printf("Test Sem Release.\n");		printf("*****************\n");		printf("Input 1 to release Sem.Others to abort Sem test\n");		scanf("%d",&num);		if(num == 1){			lseek(sem_dev,0,0);			while(1){				sleep(1);				data = 0x0001;				write(sem_dev, &data, 2);				read(sem_dev,&sem,2);				if ((sem&0x0001) == 0x0001){					printf("sem: %x\n",sem);					printf("sem release!\n");					break;				}			}		}			}		free((void *)buf);		close(daq_dev);	close(sem_dev);	exit(0);}

⌨️ 快捷键说明

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