找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3100|回复: 1
收起左侧

stm32 RC522 RFID读卡器源码

[复制链接]
ID:267516 发表于 2017-12-27 09:42 | 显示全部楼层 |阅读模式
stm32的单片机源程序如下:
  1. #include "stm32f10x.h"
  2. #include "bsp_SysTick.h"
  3. #include "bsp_usart1.h"
  4. #include "rc522_config.h"
  5. #include "rc522_function.h"
  6. #include <stdbool.h>
  7. #include "bsp_lcd.h"



  8. void IC_test ( void )
  9. {
  10.         char cStr [ 30 ];
  11.   u8 ucArray_ID [ 4 ];                                                                                             //先后存放IC卡的类型和UID(IC卡序列号)
  12.         u8 ucStatusReturn;                                                                                               //返回状态
  13.   static u8 ucLineCount = 0;
  14.        
  15.        
  16.   while ( 1 )
  17.   {
  18.                 if ( ( ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ) ) != MI_OK )                                    //寻卡
  19.                         ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID );                                                                 //若失败再次寻卡

  20.                 if ( ucStatusReturn == MI_OK  )
  21.                 {
  22.                         if ( PcdAnticoll ( ucArray_ID ) == MI_OK )                                                                   //防冲撞(当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作)
  23.                         {
  24.                                 sprintf ( cStr, "The Card ID is: %02X%02X%02X%02X", ucArray_ID [ 0 ], ucArray_ID [ 1 ], ucArray_ID [ 2 ], ucArray_ID [ 3 ] );
  25.                                
  26.                                
  27.                                 printf ( "%s\r\n",cStr );
  28.                                

  29.                                 if ( ucLineCount == 0 )
  30.                                   ILI9341_Clear ( 0, 0, 240, 271, macBACKGROUND);       
  31.                                
  32.                                 ILI9341_DispString_EN ( 0, ucLineCount * 16, cStr, macBACKGROUND, macBLUE );
  33.                                
  34.                                 ucLineCount ++;
  35.                                
  36.                                 if ( ucLineCount == 17 ) ucLineCount = 0;
  37.                                
  38.                                
  39.                         }
  40.                        
  41.                 }
  42.                
  43.   }
  44.        
  45.        
  46. }




  47. /**
  48.   * @brief  主函数
  49.   * @param  无
  50.   * @retval 无
  51.   */
  52. int main ( void )
  53. {
  54.         SysTick_Init ();   //滴答时钟初始化
  55.        
  56.         USART1_Config ();  //USART1 配置模式为 115200 8-N-1,中断接收
  57.        
  58.         RC522_Init ();     //RC522模块所需外设的初始化配置
  59.        
  60.         LCD_Init ();         //LCD 初始化
  61.        
  62.        
  63.         printf ( "WF-RC522 Test\n" );
  64.        
  65.        
  66.         ILI9341_Clear ( 0,   0, 240, 320, macBACKGROUND);       
  67.         ILI9341_Clear ( 0, 272, 240,   2, macGREEN);
  68.         ILI9341_DispString_EN ( 0, 280, "Please put the IC card on WF-RC522 antenna area ...", macBACKGROUND, macRED );
  69.        
  70.        
  71.         PcdReset ();
  72.         M500PcdConfigISOType ( 'A' );//设置工作方式
  73.        
  74.        
  75.   while ( 1 )
  76.   {
  77.     IC_test ();//IC卡检测       

  78.   }
  79.        
  80.        
  81. }


  82. /****************************END OF FILE**********************/

复制代码

所有资料51hei提供下载:
ISO-V2.rar (322.06 KB, 下载次数: 68)
回复

使用道具 举报

ID:18591 发表于 2019-1-20 21:03 | 显示全部楼层

下载学习,谢谢分享
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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