OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2621|回复: 3

求助!!!RFID RC522 IC卡显示

[复制链接]

9

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-11-19
在线时间
21 小时
发表于 2018-12-7 09:00:55 | 显示全部楼层 |阅读模式
15金钱
这个是我从论坛里下载的程序,研究了很久,不知怎么样才能显示出IC卡号,
我用的板子是战舰,模块是RFID RC522,想实现的效果是刷一张卡就在液晶屏上显示其卡号。
有朋友能帮我看下程序指点一下吗。。。

基于战舰板RFID RC522实验.rar (2.83 MB, 下载次数: 93)

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-11-19
在线时间
21 小时
 楼主| 发表于 2018-12-7 09:05:37 | 显示全部楼层
//#include "led.h"
#include "delay.h"
//#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "string.h"
#include "Myspi.h"
#include "rc522.h"
u8 Temp[4],UID[4];
int main(void)
{       
                
u8 status2,        status1;
         u16 RETRY=0xFFF;
         u8  status=MI_ERR;
        Stm32_Clock_Init(9);//系统时钟设置
          delay_init();                     //延时函数初始化                      
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);         
        uart_init(115200);                
        LCD_Init();
         InitRc522();                                //初始化射频卡模块
                PcdReset();                        //复位RC522
         delay_ms(2);
    PcdAntennaOn();                //开启天线发射
        LCD_Clear(WHITE);
         POINT_COLOR=BLACK;
   LCD_ShowString(30,40,210,24,24,"RC522 INITIAL");                                
          while(1)
        {                 
                //PcdAntennaOn();                //开启天线发射
                status=PcdRequest(0x52,Temp);////寻卡,输出为卡类型----
                if (status != MI_OK)
         {   
                                        PcdReset();
                                        PcdAntennaOff();
                                        PcdAntennaOn();
                                        continue;               
                                                  
         }       
//                do
//        {
//                RETRY--;
//                status=PcdRequest(PICC_REQALL,Temp);  
//        }while(RETRY!=0&&status!=MI_OK); //等待寻卡成功
       
                if(status==MI_OK)      //寻卡成功
                {
                                LCD_ShowString(30,70,210,24,24,"PcdRequest OK");
                                status=MI_ERR;
                                status = PcdAnticoll(UID);  //防冲撞处理,输出卡片序列号,4字节--第0扇区第0块前4个字节是UID(序列号)
                        if(status==MI_OK)
                                {
                                         status=MI_ERR;
                                        status=PcdSelect(UID);
                                }
                                if(status==MI_OK)  //选卡成功
                                {
                                         // LCD_Clear(WHITE);
                                                POINT_COLOR=BLACK;
                                                LCD_ShowString(30,100,210,24,24,"Select SUCCESS");
                                                //LCD_Showxnum();
                                          if(UID[0]==0xB0&&UID[1]==0x86&&UID[2]==0x4D&&UID[3]==0x25)
                                                          LCD_ShowString(30,130,210,24,24,"RIGHT");
                                                else
                                                          LCD_ShowString(30,130,210,24,24,"ERROR");
                                                delay_ms(5000);
//                                          PcdAntennaOff();
                                }
                                LCD_Clear(WHITE);
                                POINT_COLOR=BLACK;
                                LCD_ShowString(30,40,210,24,24,"RC522 INITIAL");
                                delay_ms(5000);
                                continue;
          }
                else
        {
                //printf("检测超时,未检测到消费卡!!!\r\n");
                LCD_ShowString(30,70,210,24,24,"检测超时,未检测到消费卡");
                PcdAntennaOff();  //关闭天线
        }
        }
         
}
回复

使用道具 举报

9

主题

36

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-11-19
在线时间
21 小时
 楼主| 发表于 2018-12-7 09:06:36 | 显示全部楼层
是直接调用UID就可以显示吗。。
回复

使用道具 举报

3

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
339
金钱
339
注册时间
2018-9-9
在线时间
41 小时
发表于 2019-1-25 15:35:41 | 显示全部楼层
你解决了吗  我也需要这个程序
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 08:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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