RC522通过SPI方式读写M1卡.docx

上传人:b****3 文档编号:1517289 上传时间:2022-10-22 格式:DOCX 页数:22 大小:20.21KB
下载 相关 举报
RC522通过SPI方式读写M1卡.docx_第1页
第1页 / 共22页
RC522通过SPI方式读写M1卡.docx_第2页
第2页 / 共22页
RC522通过SPI方式读写M1卡.docx_第3页
第3页 / 共22页
RC522通过SPI方式读写M1卡.docx_第4页
第4页 / 共22页
RC522通过SPI方式读写M1卡.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

RC522通过SPI方式读写M1卡.docx

《RC522通过SPI方式读写M1卡.docx》由会员分享,可在线阅读,更多相关《RC522通过SPI方式读写M1卡.docx(22页珍藏版)》请在冰豆网上搜索。

RC522通过SPI方式读写M1卡.docx

RC522通过SPI方式读写M1卡

1.准备工作

战舰V3开发板,RC522模块为淘宝所买,赠送一张M1卡。

SPI方式实测可以读写。

2.RC522部分:

rc522.h:

/////////////////////////////////////////////////////////////////////

#include"sys.h"

//MF522命令字

/////////////////////////////////////////////////////////////////////

#definePCD_IDLE       0x00       //取消当前命令

#definePCD_AUTHENT     0x0E       //验证密钥

#definePCD_RECEIVE     0x08       //接收数据

#definePCD_TRANSMIT     0x04       //发送数据

#definePCD_TRANSCEIVE    0x0C       //发送并接收数据

#definePCD_RESETPHASE    0x0F       //复位

#definePCD_CALCCRC     0x03       //CRC计算

/////////////////////////////////////////////////////////////////////

//Mifare_One卡片命令字

/////////////////////////////////////////////////////////////////////

#definePICC_REQIDL     0x26       //寻天线区内未进入休眠状态

#definePICC_REQALL     0x52       //寻天线区内全部卡

#definePICC_ANTICOLL1    0x93       //防冲撞

#definePICC_ANTICOLL2    0x95       //防冲撞

#definePICC_AUTHENT1A    0x60       //验证A密钥

#definePICC_AUTHENT1B    0x61       //验证B密钥

#definePICC_READ      0x30       //读块

#definePICC_WRITE      0xA0       //写块

#definePICC_DECREMENT    0xC0       //扣款

#definePICC_INCREMENT    0xC1       //充值

#definePICC_RESTORE     0xC2       //调块数据到缓冲区

#definePICC_TRANSFER    0xB0       //保存缓冲区中数据

#definePICC_HALT      0x50       //休眠

/////////////////////////////////////////////////////////////////////

//MF522FIFO长度定义

/////////////////////////////////////////////////////////////////////

#defineDEF_FIFO_LENGTH   64        //FIFOsize=64byte

#defineMAXRLEN 18

/////////////////////////////////////////////////////////////////////

//MF522寄存器定义

/////////////////////////////////////////////////////////////////////

//PAGE0

#define  RFU00        0x00  

#define  CommandReg      0x01  

#define  ComIEnReg      0x02  

#define  DivlEnReg      0x03  

#define  ComIrqReg      0x04  

#define  DivIrqReg      0x05

#define  ErrorReg       0x06  

#define  Status1Reg      0x07  

#define  Status2Reg      0x08  

#define  FIFODataReg     0x09

#define  FIFOLevelReg     0x0A

#define  WaterLevelReg    0x0B

#define  ControlReg      0x0C

#define  BitFramingReg    0x0D

#define  CollReg       0x0E

#define  RFU0F        0x0F

//PAGE1  

#define  RFU10        0x10

#define  ModeReg       0x11

#define  TxModeReg      0x12

#define  RxModeReg      0x13

#define  TxControlReg     0x14

#define  TxAutoReg      0x15

#define  TxSelReg       0x16

#define  RxSelReg       0x17

#define  RxThresholdReg    0x18

#define  DemodReg       0x19

#define  RFU1A        0x1A

#define  RFU1B        0x1B

#define  MifareReg      0x1C

#define  RFU1D        0x1D

#define  RFU1E        0x1E

#define  SerialSpeedReg    0x1F

//PAGE2  

#define  RFU20        0x20 

#define  CRCResultRegM    0x21

#define  CRCResultRegL    0x22

#define  RFU23        0x23

#define  ModWidthReg     0x24

#define  RFU25        0x25

#define  RFCfgReg       0x26

#define  GsNReg        0x27

#define  CWGsCfgReg      0x28

#define  ModGsCfgReg     0x29

#define  TModeReg       0x2A

#define  TPrescalerReg    0x2B

#define  TReloadRegH     0x2C

#define  TReloadRegL     0x2D

#define  TCounterValueRegH  0x2E

#define  TCounterValueRegL  0x2F

//PAGE3   

#define  RFU30        0x30

#define  TestSel1Reg     0x31

#define  TestSel2Reg     0x32

#define  TestPinEnReg     0x33

#define  TestPinValueReg   0x34

#define  TestBusReg      0x35

#define  AutoTestReg     0x36

#define  VersionReg      0x37

#define  AnalogTestReg    0x38

#define  TestDAC1Reg     0x39 

#define  TestDAC2Reg     0x3A 

#define  TestADCReg      0x3B 

#define  RFU3C        0x3C 

#define  RFU3D        0x3D 

#define  RFU3E        0x3E 

#define  RFU3F          0x3F

/////////////////////////////////////////////////////////////////////

//和MF522通讯时返回的错误代码

/////////////////////////////////////////////////////////////////////

#define  MI_OK        0

#define  MI_NOTAGERR     

(1)

#define  MI_ERR        

(2)

#define  SHAQU1  0X01

#define  KUAI4  0X04

#define  KUAI7  0X07

#define  REGCARD  0xa1

#define  CONSUME  0xa2

#defineREADCARD  0xa3

#defineADDMONEY  0xa4

#defineSPIReadByte() 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1