极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10314|回复: 0

求助。。rfid代码搞不定

[复制链接]
发表于 2014-1-9 23:12:48 | 显示全部楼层 |阅读模式
网上买了个rfid模块
这个模块用usb-ddl输入AA BB 02 20 22后可以读到序列号B7 FA 1D E4 92

这个写到arduino里,用arduino来读卡怎么写呢。。。
有一段例程代码。
目的是如果扫描到正确的卡灯会闪烁。但是总是无法正确执行。不知道问题在哪。
int val=0;
int ledpin=13;
int status=0;
unsigned char searchCMD[]={0xAA,0xBB,0x02,0x20,0x22};
unsigned char searchRES[5];
void setup(){
Serial.begin(19200);
pinMode(ledpin,OUTPUT);
}
int searchCard(){
Serial.write(searchCMD,5);
delay(100);
status=0;
while(true){
if(Serial.available()>0){
val=Serial.read();
switch(status){
case 0:
if(val==0xAA)status=1;
break;
case 1:
if(val==0xBB)status=2;
else return -1;
break;
case 2:
if(val==0x06)status=3;
else return -1;
break;
case 3:
if(val==0x20)status=4;
else return -1;
break;
case 4:
if(val==0xB7)status=5;
else return -1;
break;
case 5:
if(val==0xFA)status=6;
else return -1;
break;
case 6:
if(val==0x1D)status=7;
else return -1;
break;
case 7:
if(val==0xE4)status=8;
else return -1;
break;
case 8:
if(val==0x92)status=9;
else return -1;
break;
case 9:
searchRES[status-5]=val; 这里不太懂
status++;
break;
case 10:
return 0;
break;
default:
return -1;
break;
}
}
}
}
void loop(){
if(searchCard()!=-1){
if(searchRES[0] == 0xB7 && searchRES[1] == 0xFA && searchRES[2] == 0x1D && searchRES[3] == 0xE4 && searchRES[4] == 0x92 )
{
digitalWrite(ledpin,HIGH);
delay(1000);
digitalWrite(ledpin,LOW);
delay(1000);
Serial.println(searchRES[5]);
}
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 20:32 , Processed in 0.034092 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表