找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 899|回复: 1
打印 上一主题 下一主题
收起左侧

MFRC522开发资料

[复制链接]
跳转到指定楼层
楼主
ID:603005 发表于 2019-8-23 11:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Write_to_Card(…)和Read_from_Card(…)可谓是所有函数的终点,而SPIWriteByte(…)则是最底层对MFRC522模块进行操作的函数,所有函数都是为了Write_to_Card(…)和Read_from_Card(…)而产生的。因此,我们只需要调用这两个函数就可以完成IC卡的读写,同时,这两个函数的参数和使用方法都是一样的。
Mifare卡片的存储容量为8192×1位字长(即1K * 8位字长),采用E2PROM作为存储介质。整个结构划分为16个扇区,编为扇区0~15。每个扇区有4个块(Block),分别为块0,块1,块2和块3。每个块有16个字节。一个扇区共有16Byte* 4 = 64Byte。每个扇区的块3(即第四块)也称作尾块,包含了该扇区的密码A(6个字节)、存取控制(4个字节)、密码B(6 个字节)。其余三个块是一般的数据块。
每个扇区的块3(即第四块)也称作尾块,包含了该扇区的密码A(6个字节)、存取控制(4个字节)、密码B(6个字节)。其余三个块是一般的数据块。扇区0的块0是特殊的块,包含了厂商代码信息,在生产卡片时写入,不可改写。其中:第0~4个字节为卡片的序列号,第5个字节为序列号的校验码;第6个字节为卡片的容量“SIZE”字节;第7、8个字节为卡片的类型号字节,即Tagtype字节;其他字节由厂商另加定义。
综上所述,我们可以用来存储数据的空间为第一扇区的第1、2块,第二扇区到第63扇区的第0、1、2块,简而言之就是我们上图中的“数据块”。
M1卡结构:
共16个扇区,每个扇区4块(块0~3),共64块,按块号编址为0~63。
第0扇区的块0(即绝对地址0块)用于存放厂商代码,已经固化,不可更改。
其他各扇区:
块0、块1、块2为数据块,用于存贮数据;
块3为控制块,存放密码A、存取控制、密码B。

因此,只要做出一个接口,即设计一个函数,让我们指定要在哪个块上输入什么数据就好了,块的数据范围是0到63,写入的数据的格式为16个字节,如:ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff,我们设定一个数组来存储这个数据:Write_Data[16] = {0x00};
      我们设计了一个函数:Write_to_Card(kuai,Write_Data);其中,kuai就是指定是哪个块,Write_Data是指要写入的数据,就是上面所说数组的起始地址,只要事先对这两个变量进行赋值,就可以轻松向IC卡中写入数据了,我们设计了另一个函数Read_from_Card(kuai,Read_Data);kuai是指要操作的块,Read_Data就是从这个块中读取出来的数据的存放地,有了数据,不管是在lcd1602还是lcd12864或者是tft液晶显示都没什么问题了。
现在让我们看看Write_to_Card(…)和Read_from_Card(…)的使用方法:
void main()
{
         Write_Data[0] = 0x33;                                //需要写入IC卡中的数据赋值
         init();                                 //串口通信初始化
         while(1)
         {
                   Write_to_Card(0x01,Write_Data);    //向IC卡中的0x01块存储区中写数据
                   delay_welcome(100);
                   Read_from_Card(0x01,Read_Data);   //从IC卡中的0x01块存储区中读数据      
         }
}
这是Mian函数程序.

读写卡的时间是短暂的,而人刷卡时,卡在读卡器读卡范围内的时间相对较长,这就涉及到一次读卡和重复读卡的问题了,我们的程序设计的是一次读卡,也就是说你不管把卡放在读卡器上多长时间,系统只读写一次卡,串口调试助手不会重复显示一样的数据,这个功能可不是所有淘宝店可以提供的哦。下面我们来看看程序:
//向IC卡中写数据
unsigned charWrite_to_Card(unsigned char data KuaiN,unsigned char *pData)
{
         char data status;
         unsigned char idata RevBuffer[4];
         unsigned char data MLastSelectedSnr[4];
         unsigned char dataPassWd[6]={0xff,0xff,0xff,0xff,0xff,0xff};
         unsigned char data place = 0x00;
         PcdReset();
//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
         status=PcdRequest(PICC_REQIDL,&RevBuffer[0]);
         if(status!=MI_OK)
         {
                  flag = 0;
                   green = 1;
                   return 0x00;
         }
//判断当操作卡完成后就停止重复读写卡
         if(flag == 1)                                
         {
                   return 0x00;
         }
//防冲撞,返回卡的序列号 4字节
         status=PcdAnticoll(&RevBuffer[2]);
         if(status!=MI_OK)
         {      
                   return 0x00;
         }                        
         memcpy(MLastSelectedSnr,&RevBuffer[2],4); //拷贝序列号到变量MLastSelectedSnr中
//选卡,卡号为MLastSelectedSnr
         status=PcdSelect(MLastSelectedSnr);
         if(status!=MI_OK)
         {
                   return 0;
         }
         //验证卡片密码,空白卡都是0xff,0xff,0xff,0xff,0xff,0xff
         status=PcdAuthState(PICC_AUTHENT1A,KuaiN,PassWd,MLastSelectedSnr);
         if(status!=MI_OK)
         {
                   return 0x00;
         }
//向卡中指定块中写数据
         status=PcdWrite(KuaiN,pData);
         if(status!=MI_OK)            
                   return 0;
         }
//命令卡片进入休眠状态
         PcdHalt();
         flag = 1;
         green = 0;
         return 1;
}
//从IC卡中读数据
unsigned char Read_from_Card(unsigned char data KuaiN,unsigned char *pData)
{
         char data status;
         unsigned char idata RevBuffer[4];
         unsigned char data MLastSelectedSnr[4];
         unsigned char dataPassWd[6]={0xff,0xff,0xff,0xff,0xff,0xff};
         unsigned char data place = 0x00;
         PcdReset();
//寻天线区内未进入休眠状态的卡,返回卡片类型 2字节
         status=PcdRequest(PICC_REQIDL,&RevBuffer[0]);
         if(status!=MI_OK)
         {
                   flag = 0;
                   green = 1;
                   return 0x00;
         }
//判断当操作卡完成后就停止重复读写卡
         if(flag == 1)                                
         {
                   return 0x00;
         }
//防冲撞,返回卡的序列号 4字节
         status=PcdAnticoll(&RevBuffer[2]);
         if(status!=MI_OK)
         {      
                   return 0x00;
         }                        
         memcpy(MLastSelectedSnr,&RevBuffer[2],4); //拷贝序列号到变量MLastSelectedSnr中
//选卡,卡号为MLastSelectedSnr
         status=PcdSelect(MLastSelectedSnr);
         if(status!=MI_OK)
         {
                   return 0;
         }
         //验证卡片密码,空白卡都是0xff,0xff,0xff,0xff,0xff,0xff
         status=PcdAuthState(PICC_AUTHENT1A,KuaiN,PassWd,MLastSelectedSnr);
         if(status!=MI_OK)
         {
                   return 0x00;
         }
//从卡中对应块中读取数据,注意,一次读出整块数据,即16字节
         status= PcdRead (KuaiN,pData);
         if(status!=MI_OK)            
                   return 0;
         }      
//命令卡片进入休眠状态
         PcdHalt();
         flag = 1;
         green = 0;
         //如果程序走到这一步,就说明读卡成功,并且pData指定人数组中存放着块数据
         //我们可以通过下面的函数向PC机传送卡里的数据
Serial_Rs232(pData,16);
         return 1;
}


程序的函数关系:

Main()
|---- Write_to_Card(…);     //写卡
|         |---- PcdRequest(…);  //寻天线区内未进入休眠状态的卡
|         |        |--- ClearBitMask(…)
|         |        |       |--- ReadRawRC(…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |       |       |---SPIReadByte(…)
|         |       |        |--- WriteRawRC(…)
|         |        |                |---SPIWriteByte(…)
|         |        |--- WriteRawRC(…)
|         |        |       |--- SPIWriteByte(…)
|         |        |--- SetBitMask(…)
|         |        |       |--- ReadRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |       |       |---SPIReadByte(…)
|         |        |       |--- WriteRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |--- PcdComMF522
|         |                 |--- WriteRawRC (…)
|         |                         |---SPIWriteByte(…)
|         |                 |--- ClearBitMask (…)
|         |                 |       |--- ReadRawRC(…)
|         |                 |       |      |---SPIWriteByte(…)
|         |                 |       |      |---SPIReadByte(…)
|         |                 |       |--- WriteRawRC(…)
|         |                 |               |---SPIWriteByte(…)
|         |                 |--- SetBitMask (…)
|         |                 |       |--- ReadRawRC (…)
|         |                 |       |      |---SPIWriteByte(…)
|         |                 |       |      |---SPIReadByte(…)
|         |                 |       |--- WriteRawRC (…)
|         |                |       |      |---SPIWriteByte(…)
|         |                 |--- ReadRawRC(…)
|         |                         |---SPIWriteByte(…)
|         |---- PcdAnticoll(…)
|         |        |--- ClearBitMask (…)
|         |        |       |       |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |--- WriteRawRC (…)
|         |        |       |---SPIWriteByte(…)
|         |        |--- PcdComMF522 (…)
|         |        |       |--- WriteRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |       |--- ClearBitMask (…)
|         |       |        |      |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |       |--- SetBitMask (…)
|         |        |       |       |--- ReadRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |--- ReadRawRC(…)
|         |       |                |---SPIWriteByte(…)
|         |        |--- SetBitMask (…)
|         |        |      |--- ReadRawRC (…)
|         |        |      |       |---SPIWriteByte(…)
|         |        |      |       |---SPIReadByte(…)
|         |        |      |--- WriteRawRC (…)
|         |        |      |       |---SPIWriteByte(…)
|         |----PcdSelect(…)
|         |        |--- CalulateCRC (…)
|         |        |       |--- WriteRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |       |--- ClearBitMask (…)
|         |       |        |      |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |       |--- SetBitMask (…)
|         |        |       |       |--- ReadRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |--- ReadRawRC(…)
|         |       |                |---SPIWriteByte(…)
|         |        |--- ClearBitMask (…)
|         |        |       |       |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |--- PcdComMF522 (…)
|         |        |       |--- WriteRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |        |       |--- ClearBitMask (…)
|         |       |        |      |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |       |        |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |       |--- SetBitMask (…)
|         |        |       |       |--- ReadRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |--- ReadRawRC(…)
|         |        |                |---SPIWriteByte(…)
|         |----PcdAuthState (…)
|         |        |--- PcdComMF522 (…)
|         |        |       |--- WriteRawRC (…)
|         |        |       |       |---SPIWriteByte(…)
|         |       |        |--- ClearBitMask (…)
|         |       |        |      |--- ReadRawRC(…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC(…)
|         |        |       |               |---SPIWriteByte(…)
|         |        |       |--- SetBitMask (…)
|         |        |       |       |--- ReadRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |       |       |---SPIReadByte(…)
|         |        |       |       |--- WriteRawRC (…)
|         |        |       |       |       |---SPIWriteByte(…)
|         |        |       |--- ReadRawRC(…)
|         |        |                |---SPIWriteByte(…)
|         |        |--- ReadRawRC (…)
|         |        |        |---SPIWriteByte(…)
|         |        |       |---SPIReadByte(…)
|         |        |--- PcdWrite (…)
|         |                 |---CalulateCRC(…)
|         |                 |       |--- WriteRawRC (…)
|         |                 |       |       |---SPIWriteByte(…)
|         |                 |       |--- ClearBitMask (…)
|         |                |        |       |--- ReadRawRC(…)
|         |                 |       |       |       |---SPIWriteByte(…)
|         |                 |       |       |       |---SPIReadByte(…)
|         |                 |       |       |--- WriteRawRC(…)
|         |                 |        |               |---SPIWriteByte(…)
|         |                 |       |--- SetBitMask (…)
|         |                 |       |       |--- ReadRawRC (…)
|         |                 |        |      |      |---SPIWriteByte(…)
|         |                 |       |       |      |---SPIReadByte(…)
|         |                 |       |       |--- WriteRawRC (…)
|         |                 |       |       |       |---SPIWriteByte(…)
|         |                 |       |--- ReadRawRC(…)
|         |                 |        |      |---SPIWriteByte(…)
|         |                 |---PcdComMF522(…)
|         |                 |       |--- WriteRawRC (…)
|         |                 |       |       |---SPIWriteByte(…)
|         |                 |       |--- ClearBitMask (…)
|         |                |       |       |--- ReadRawRC(…)
|         |                 |       |       |       |---SPIWriteByte(…)
|         |                 |       |       |       |---SPIReadByte(…)
|         |                 |       |       |--- WriteRawRC(…)
|         |                 |       |               |---SPIWriteByte(…)
|         |                 |       |--- SetBitMask (…)
|         |                 |       |       |--- ReadRawRC (…)
|         |                |       |       |       |---SPIWriteByte(…)
|         |                 |       |       |       |---SPIReadByte(…)
|         |                 |       |       |--- WriteRawRC (…)
|         |                 |       |       |       |---SPIWriteByte(…)
|         |                 |       |--- ReadRawRC(…)
|         |                 |                |---SPIWriteByte(…)
|         |----PcdHalt (…)     |
|                          |---CalulateCRC (…)
|                 |         |--- WriteRawRC (…)
|                 |         |       |---SPIWriteByte(…)
|                 |         |--- ClearBitMask (…)
|                 |         |        |---ReadRawRC(…)
|                 |         |       |       |---SPIWriteByte(…)
|                 |         |       |       |---SPIReadByte(…)
|                 |         |       |--- WriteRawRC(…)
|                 |         |        |      |---SPIWriteByte(…)
|                 |         |--- SetBitMask (…)
|                 |         |      |--- ReadRawRC (…)
|                 |         |       |      |---SPIWriteByte(…)
|                 |         |      |       |---SPIReadByte(…)
|                 |         |      |--- WriteRawRC (…)
|                 |         |      |       |---SPIWriteByte(…)
|                 |         |--- ReadRawRC(…)
|                 |         |      |---SPIWriteByte(…)
|                 |---PcdComMF522 (…)
|                           |--- WriteRawRC (…)
|                           |       |---SPIWriteByte(…)
|                           |--- ClearBitMask (…)
|                           |       |--- ReadRawRC(…)
|                           |       |      |---SPIWriteByte(…)
|                           |      |       |---SPIReadByte(…)
|                           |      |--- WriteRawRC(…)
|                           |               |---SPIWriteByte(…)
|                           |--- SetBitMask (…)
|                           |      |--- ReadRawRC (…)
|                           |      |       |---SPIWriteByte(…)
|                           |      |       |---SPIReadByte(…)
|                           |      |--- WriteRawRC (…)
|                           |      |       |---SPIWriteByte(…)
|                           |--- ReadRawRC(…)
|                                   |---SPIWriteByte(…)
|
|----delay_welcome(100);
|----Read_from_Card(…)
         |---- PcdRequest(…);  //寻天线区内未进入休眠状态的卡
         |        |--- ClearBitMask(…)
         |        |       |--- ReadRawRC(…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |       |---SPIReadByte(…)
         |        |       |--- WriteRawRC(…)
         |        |                |---SPIWriteByte(…)
         |        |--- WriteRawRC(…)
         |        |       |--- SPIWriteByte(…)
         |        |--- SetBitMask(…)
         |        |       |--- ReadRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |       |---SPIReadByte(…)
         |        |       |--- WriteRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |--- PcdComMF522
         |                 |--- WriteRawRC (…)
         |                         |---SPIWriteByte(…)
         |                 |--- ClearBitMask (…)
         |                |       |--- ReadRawRC(…)
         |                 |       |      |---SPIWriteByte(…)
         |                 |       |      |---SPIReadByte(…)
         |                 |       |--- WriteRawRC(…)
         |                 |               |---SPIWriteByte(…)
         |                 |--- SetBitMask (…)
         |                 |       |--- ReadRawRC (…)
         |                 |       |      |---SPIWriteByte(…)
         |                 |       |      |---SPIReadByte(…)
         |                 |       |--- WriteRawRC (…)
         |                 |       |      |---SPIWriteByte(…)
         |                 |--- ReadRawRC(…)
         |                         |---SPIWriteByte(…)
         |---- PcdAnticoll(…)
         |        |--- ClearBitMask (…)
         |        |       |       |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |--- WriteRawRC (…)
         |        |       |---SPIWriteByte(…)
         |        |--- PcdComMF522 (…)
         |        |       |--- WriteRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |--- ClearBitMask (…)
         |       |        |      |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |        |      |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |       |--- SetBitMask (…)
         |        |       |       |--- ReadRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |--- ReadRawRC(…)
         |        |                |---SPIWriteByte(…)
         |        |--- SetBitMask (…)
         |        |      |--- ReadRawRC (…)
         |        |      |       |---SPIWriteByte(…)
         |        |      |       |---SPIReadByte(…)
         |        |      |--- WriteRawRC (…)
         |        |      |       |---SPIWriteByte(…)
         |----PcdSelect(…)
         |        |--- CalulateCRC (…)
         |        |       |--- WriteRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |--- ClearBitMask (…)
         |       |        |      |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |       |--- SetBitMask (…)
         |        |       |       |--- ReadRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |--- ReadRawRC(…)
         |        |                |---SPIWriteByte(…)
         |        |--- ClearBitMask (…)
         |        |       |       |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |--- PcdComMF522 (…)
         |        |       |--- WriteRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |--- ClearBitMask (…)
         |       |        |      |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |        |      |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |       |--- SetBitMask (…)
         |        |       |       |--- ReadRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |--- ReadRawRC(…)
         |        |                |---SPIWriteByte(…)
         |----PcdAuthState (…)
         |        |--- PcdComMF522 (…)
         |        |       |--- WriteRawRC (…)
         |        |       |       |---SPIWriteByte(…)
         |        |       |--- ClearBitMask (…)
         |       |        |      |--- ReadRawRC(…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC(…)
         |        |       |               |---SPIWriteByte(…)
         |        |       |--- SetBitMask (…)
         |        |       |       |--- ReadRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |       |       |---SPIReadByte(…)
         |        |       |       |--- WriteRawRC (…)
         |        |       |       |       |---SPIWriteByte(…)
         |        |       |--- ReadRawRC(…)
         |        |                |---SPIWriteByte(…)
         |        |--- ReadRawRC (…)
         |        |        |---SPIWriteByte(…)
         |        |       |---SPIReadByte(…)
         |        |--- PcdWrite (…)
         |                 |---CalulateCRC(…)
         |                 |       |--- WriteRawRC (…)
         |                 |       |       |---SPIWriteByte(…)
         |                 |       |--- ClearBitMask (…)
         |                |        |       |--- ReadRawRC(…)
         |                 |       |       |       |---SPIWriteByte(…)
          |                 |       |       |       |---SPIReadByte(…)
         |                 |       |       |--- WriteRawRC(…)
         |                 |        |               |---SPIWriteByte(…)
         |                 |       |--- SetBitMask (…)
         |                 |       |       |--- ReadRawRC (…)
         |                 |        |      |      |---SPIWriteByte(…)
         |                 |       |       |       |---SPIReadByte(…)
         |                 |       |       |--- WriteRawRC (…)
         |                 |       |       |       |---SPIWriteByte(…)
         |                 |       |--- ReadRawRC(…)
         |                |        |      |---SPIWriteByte(…)
         |                 |---PcdComMF522(…)
         |                 |       |--- WriteRawRC (…)
         |                 |       |       |---SPIWriteByte(…)
         |                 |       |--- ClearBitMask (…)
         |                |       |       |--- ReadRawRC(…)
         |                 |       |       |       |---SPIWriteByte(…)
         |                 |       |       |       |---SPIReadByte(…)
         |                |       |       |--- WriteRawRC(…)
         |                 |       |               |---SPIWriteByte(…)
         |                 |       |--- SetBitMask (…)
         |                 |       |       |--- ReadRawRC (…)
         |                |       |       |       |---SPIWriteByte(…)
         |                 |       |       |       |---SPIReadByte(…)
         |                 |       |       |--- WriteRawRC (…)
         |                 |       |       |       |---SPIWriteByte(…)
         |                 |       |--- ReadRawRC(…)
         |                 |                |---SPIWriteByte(…)
         |----PcdHalt (…)     |
                   |---CalulateCRC(…)
                 |         |--- WriteRawRC (…)
                 |         |       |---SPIWriteByte(…)
                 |         |--- ClearBitMask (…)
                 |         |        |---ReadRawRC(…)
                 |         |       |       |---SPIWriteByte(…)
                 |         |       |       |---SPIReadByte(…)
                 |         |       |--- WriteRawRC(…)
                 |         |        |      |---SPIWriteByte(…)
                 |         |--- SetBitMask (…)
                 |         |      |--- ReadRawRC (…)
                 |         |       |      |---SPIWriteByte(…)
                 |         |      |       |---SPIReadByte(…)
                 |         |      |--- WriteRawRC (…)
                 |         |      |       |---SPIWriteByte(…)
                 |         |--- ReadRawRC(…)
                 |         |      |---SPIWriteByte(…)
                 |---PcdComMF522 (…)
                           |--- WriteRawRC (…)
                           |       |---SPIWriteByte(…)
                           |--- ClearBitMask (…)
                           |       |--- ReadRawRC(…)
                           |       |      |---SPIWriteByte(…)
                           |      |       |---SPIReadByte(…)
                           |      |--- WriteRawRC(…)
                           |               |---SPIWriteByte(…)
                           |--- SetBitMask (…)
                           |      |--- ReadRawRC (…)
                           |      |       |---SPIWriteByte(…)
                           |      |       |---SPIReadByte(…)
                           |      |--- WriteRawRC (…)
                           |      |       |---SPIWriteByte(…)
                           |--- ReadRawRC(…)
                                   |---SPIWriteByte(…)
由于字数限制,如果有需要可以留意关注,可以提供全套资料。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:106121 发表于 2019-9-4 16:57 | 只看该作者
学习一下 顶起来!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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