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

📄 rx201-readertocard.c

📁 RFID reader(RX201) 讀取 TAG(TG501) 透過COMPORT之測試程式
💻 C
字号:
//OK#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <termios.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#define BAUDRATE B9600unsigned char buf[100];struct termios oldtio,newtio;int read_str(int fd, int sec_n){	int result,nread;		struct timeval timeout;	fd_set inputs;	FD_ZERO(&inputs);	FD_SET(fd,&inputs);	timeout.tv_sec=sec_n;	timeout.tv_usec=50000;       	result = select(FD_SETSIZE, &inputs, (fd_set *)0, (fd_set *)0, &timeout);	if (result == 0) {return -1;}	nread=read(fd,buf,sizeof(buf));       return nread;	}int main(){		int fd,comfd;		int file_fd;	int opt;	int nread;	int rssi[50],cardnum[50];	int tempc=0,tempr=0;	int cardrssi[50][5];	int sr=0,sf;	int i=0,a=0,j,k=0;	int temp_cardnum,temp_rssi;	int filesize;		struct stat filestat;       char *combuf=malloc(1024);	char filename[20];	char COMPORT[10];       FILE *comfp;	strcpy(COMPORT,"/dev/ttyS0");	//strcat(COMPORT,optarg);	fd = open(COMPORT,O_RDWR|O_NOCTTY);	if(fd < 0)	{		perror(COMPORT);		exit(1);	}	printf("Open.....%s\n",COMPORT);	tcgetattr(fd,&oldtio);	bzero(&newtio,sizeof(newtio));	newtio.c_cflag = BAUDRATE|CS8|CLOCAL|CREAD;	newtio.c_iflag = IGNPAR;	newtio.c_oflag = 0;	newtio.c_lflag = ICANON;	tcflush(fd,TCIFLUSH);	tcsetattr(fd,TCSANOW,&newtio);	printf("Waiting.....\n");	       comfp = fopen("DISABLING.txt","rb");       fread(combuf,20,1,comfp);                        write(fd,combuf,20);           fclose(comfp);	memset(buf,0,sizeof(buf));	       comfp = fopen("GetTagPacket.txt","rb");       fread(combuf,10,1,comfp);	fclose(comfp);memset(cardrssi,0,sizeof(cardrssi));//----------------------------------------for (i=0;i<=50;i++){	  write(fd,combuf,10);	  read_str(fd,0);		for (a=0;a<=100;a++){	  if( (buf[a]==0x42) && (buf[a+1] ==0x43) )	     {sf=a;break;} }	if( ( buf[a-12]==0x55) &&  (buf[a+10]==0x0) && (buf[a+16]!=0)){ 	tempc=(buf[sf+11]*256*256)+(buf[sf+12]*256)+(buf[sf+13]);	tempr=buf[sf+16];		}		for (j=0;j<=10;j++){	 	 if (tempc != cardrssi[j][0] && cardrssi[j][0] == 0)			{		 cardrssi[j][0]=tempc;		 cardrssi[j][1]=tempr;		 break;			}		 if (tempc == cardrssi[j][0])			{		 cardrssi[j][0]=tempc;		 cardrssi[j][1]=tempr;			 break;			}	}}for (i=0;i<=4;i++){printf("(Tag ID,RSSI) = (%d,%d)\n",cardrssi[i][0],cardrssi[i][1]);}	close(fd);	return 0;	}

⌨️ 快捷键说明

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