📄 typeb.c
字号:
#include <stdio.h>#include <sys/ioctl.h>#include "rc531.h"/* TYPE B function */int reqb(int type, char *atqb){ int i; char sbuf[128]; struct rc531_cmd cmd; cmd.sendbuf = sbuf; cmd.recvbuf = atqb; cmd.cmd = 0x1e; //transceive command cmd.bytesent = 3; cmd.timeout = 0x1a; for(i=0; i<5; i++){ sbuf[0] = 0x05; //request command sbuf[1] = 0x00; sbuf[2] = type|i; ioctl(fd531, RC531_CMD, &cmd); if(cmd.status&0x80){ continue; } if(cmd.status&0x0c){ return cmd.status; } if(cmd.byterecv!=12){ return E_BYTE; } return E_OK; } return E_TIMEOUT;}int attrib(int uid, int cid, char *ata){ int i; char *pid; char sbuf[128]; struct rc531_cmd cmd; pid = (char *)&uid; cmd.cmd = 0x1e; cmd.sendbuf = sbuf; cmd.recvbuf = ata; cmd.bytesent = 9; cmd.timeout = 0x1a; sbuf[0] = 0x1d; for(i=0; i<4; i++){ sbuf[i+1] = pid[i]; } sbuf[5] = 0x00; sbuf[6] = 0x05; sbuf[7] = 0x01; sbuf[8] = cid; ioctl(fd531, RC531_CMD, &cmd); if(cmd.status){ return cmd.status; } if(!cmd.byterecv){ return E_BYTE; } return E_OK;}int haltb(int uid){ int i; char *pid; char sbuf[8], rbuf[8]; struct rc531_cmd cmd; pid = (char *)&uid; cmd.cmd = 0x1e; cmd.sendbuf = sbuf; cmd.recvbuf = rbuf; cmd.bytesent = 5; cmd.timeout = 0x1a; sbuf[0] = 0x50; for(i=0; i<4; i++){ sbuf[i+1] = pid[i]; } ioctl(fd531, RC531_CMD, &cmd); return E_OK;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -