嵌入式驱动源代码(10):NFC芯片PN532驱动开发

时间:2024-07-19 18:29:55

目录

简介

PN532数据帧结构

代码参考


简介

 PN532 芯片( PN532)通讯单元,支持 I2C 和 UART 两种通讯方式。

 PN532 需要在确认 I2C 地址匹配后给自己所发出的所有包前加一个 READY 字节,用来标识已准备就绪。

HOST 只有读取到这个 READY 标识后,才能继续读取后面的数据内容。

因此,每次 HOST 通过 I2C 从 PN532 读取数据时,都应先检查第一个字节(READY)是否为 1, 如果不为 1,则说明 PN532 并未准备好,需要重新尝试读取。

如果 READY 不为 1 的情况下继续读取数据,所读取到的后续数据是与实际业务完全无关的随机数据。

PN532数据帧结构

PN532 Normal Frame Structure:

                  ┌─ Preamble ( must be 0x00 )
                  │   ┌─ Start ( must be 0x00 0xFF )
                  │   │  ┌─Len ( lenth from TFI to Data[N] )
                  │   │  │ ┌─ LCS ( LCS + Len = 0 )
                  │   │  │ │ ┌─ TFI ( D4: Host to PN, D5: PN to Host)
                  │   │  │ │ │      ┌─ Data[0..N]
                  │