📄 netdaq.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 + -