RC522通过SPI方式读写M1卡

1.准备工作
战舰V3开发板,RC522模块为淘宝所买,赠送一张M1卡。SPI方式实测可以读写。
2.RC522部分:
rc522.h:
/////////////////////////////////////////////////////////////////////
#include "sys.h"
//MF522命令字
/////////////////////////////////////////////////////////////////////
#define PCD_IDLE              0x00              //取消当前命令
#define PCD_AUTHENT          0x0E              //验证密钥
#define PCD_RECEIVE          0x08              //接收数据
#define PCD_TRANSMIT          0x04              //发送数据
#define PCD_TRANSCEIVE        0x0C              //发送并接收数据
#define PCD_RESETPHASE        0x0F              //复位
#define PCD_CALCCRC          0x03              //CRC计算
/////////////////////////////////////////////////////////////////////
//Mifare_One卡片命令字
/////////////////////////////////////////////////////////////////////
#define PICC_REQIDL          0x26              //寻天线区内未进入休眠状态
#define PICC_REQALL          0x52              //寻天线区内全部卡
#define PICC_ANTICOLL1        0x93              //防冲撞
#define PICC_ANTICOLL2        0x95              //防冲撞
#define PICC_AUTHENT1A        0x60              //验证A密钥
#define PICC_AUTHENT1B        0x61              //验证B密钥
#define PICC_READ            0x30              //读块
#define PICC_WRITE            0xA0              //写块
#define PICC_DECREMENT        0xC0              //扣款
#define PICC_INCREMENT        0xC1              //充值
m1卡#define PICC_RESTORE          0xC2              //调块数据到缓冲区
#define PICC_TRANSFER        0xB0              //保存缓冲区中数据
#define PICC_HALT            0x50              //休眠
/////////////////////////////////////////////////////////////////////
//MF522 FIFO长度定义
/////////////////////////////////////////////////////////////////////
#define DEF_FIFO_LENGTH      64                //FIFO size=64byte
#define MAXRLEN  18
/////////////////////////////////////////////////////////////////////
//MF522寄存器定义
/////////////////////////////////////////////////////////////////////
// PAGE 0
#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
// PAGE 1   
#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
// PAGE 2   
#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
// PAGE 3     
#define    RFU30                0x30
#define    TestSel1Reg          0x31
#define    TestSel2Reg          0x32
#define    TestPinEnReg          0x33
#define    TestPinValueReg      0x34
#define    TestBusReg            0x35
#define    AutoTestReg          0x36
#define    VersionReg            0x37

本文发布于:2024-09-22 21:30:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/360295.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:天线   定义   缓冲区   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议