baidu_26534121 2015-03-13 03:03 采纳率: 0%
浏览 2542

一个关于RFID串口接收IC卡号并让单片机识别不同卡号并作出不同判断的问题

单片机连接一个RFID读卡器串口,用来刷不同的IC卡,用电脑串口助手测试可以返回两张卡号:

白卡卡号:20 00 00 08 04 00 00 00 24 AA 54 1A 33 03
塑料卡号:20 00 00 08 04 00 00 00 54 BF D5 E5 28 03
先想让单片机接收24 AA 54 1A 33,54 BF D5 E5 28这两段进行识别,识别到前者亮灯,识别到后者灭灯,但是现在这个用于识别方面的程序我有些困惑,烦劳指正!
程序:
#include
#include
#include
unsigned char UART_data;
unsigned char UART_ID[5]={0};
unsigned int x=0;
unsigned int j=0;
unsigned char ID1[]={0x24,0xAA,0x54,0x1A,0x33};
unsigned char ID2[]={0x54,0xBF,0xD5,0xE5,0x28};
sbit led = P1 ^ 7;
void UART_R(void) interrupt 4
{
if(RI==1)
{
UART_data=SBUF;
while(!RI);
RI = 0;
x++;
if(x>=9&&x<=13)
{
UART_ID[j]=UART_data;
j++;
}
if(x>13)
{
x=0;
j=0;
}

}

}
void UART_Init(void) {
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFD; //设置波特率 9600
TL1 = 0xFD;
TR1 = 1; //启动定时器1
ES = 1; //开串口中断
EA = 1; //开总中断
}
void Main()
{

UART_Init();
while(1)
{
if(strcmp(UART_ID,ID1)==0)
{led=0;}
if(strcmp(UART_ID,ID2)!=0)
{led=1;}
}
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2015-03-13 03:14
    关注

    用串口调试助手一类的工具调试下,检查下波特率、校验方式等等。

    评论

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题