Write_to_Card(…)和Read_from_Card(…)可谓是所有函数的终点,而SPIWriteByte(…)则是最底层对MFRC522模块进行操作的函数,所有函数都是为了Write_to_Card(…)和Read_from_Card(…)而产生的。因此,我们只需要调用这两个函数就可以完成IC卡的读写,同时,这两个函数的参数和使用方法都是一样的,是不是很简单!

虽然说可以直接把我们的程序拿来用应一下急,但作为嵌入式开发者,我们建议还是需要了解这些程序是怎么来的,下面我们就来讲讲程序的组成架构和函数的功能原理。在讲程序之前,我们需要将IC卡的结构给大家讲清楚,看下图:

上图是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();

字节

status=PcdRequest(PICC_REQIDL,&RevBuffer[0]);

if(status!=MI_OK)

{

flag = 0;

green = 1;

return 0x00;

}

//判断当操作卡完成后就停止重复读写卡

if(flag == 1)

{

return 0x00;

}

字节

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();

字节

status=PcdRequest(PICC_REQIDL,&RevBuffer[0]);

if(status!=MI_OK)

{

flag = 0;

green = 1;

return 0x00;

}

//判断当操作卡完成后就停止重复读写卡

if(flag == 1)

{

return 0x00;

}

字节

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= 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(…)

最新文章

  1. EndNote(二)之英文引文导入方式
  2. 向STM32 CUBE MX 生成的工程里移植stemwin
  3. js控制 固定框架内图片 按比例显示 以及 占满框架 居中显示
  4. 安装php扩展库
  5. Java程序员的日常—— Properties文件的读写
  6. MySQL 建库、建用户及建表事项
  7. Java 集合深入理解(14):Map 概述
  8. C语言实现strcat
  9. 李洪强iOS开发本人集成环信的经验总结_02_基本配置
  10. mongodump备份数据库
  11. mysql 数据库选定 创建 删除 变更
  12. Servlet与Jsp的结合使用实现信息管理系统二
  13. rsync3.1.3的编译安装和常用操作
  14. SQL server 2008(Linux安装)
  15. 牛客网NOIP赛前集训营-提高组(第一场)
  16. JDBC工具类
  17. Centos7部署Flannel网络(八)
  18. sudo命令 和限制root 远程登陆
  19. CreateToolhelp32Snapshot 以及 EnumProcesses
  20. 采用模拟账号读取Exchange server未读邮件的注意事项(链接邮箱问题)【转】

热门文章

  1. 医院内外网之间通过网闸交互,通过端口转发加nginx代理实现内网访问外网
  2. Kafka高可用环境搭建
  3. C# 处理base64 以及base64的原理分析
  4. myeclipse下搭建hadoop2.7.3开发环境
  5. Freemarker 使用
  6. python 处理json
  7. URAL 2062 树状数组
  8. QT QMimeData类
  9. 谷歌地图OGC WMTS服务规则
  10. poj2396有源汇上下界可行流