esp32s3 pn532
时间: 2025-04-26 12:09:31 浏览: 50
### ESP32-S3 使用 PN532 NFC 模块
对于ESP32-S3与PN532模块之间的连接,通常采用I²C或者SPI接口来实现通信。当选择I²C模式时,仅需四根线即可完成硬件连接:VCC、GND、SDA以及SCL[^1]。
针对软件部分,在Arduino IDE环境中开发程序可以极大简化操作流程。首先应当安装`Adafruit_PN532`库和依赖项以便于后续调用API函数处理数据交换过程[^2]。
下面给出一段简单的初始化并读取卡片ID的示例代码:
```cpp
#include <Wire.h>
#include <Adafruit_PN532.h>
// 创建PN532对象, I2C方式通讯
#define PN532_I2C_ADDRESS 0x24
TwoWire wire = TwoWire(0);
Adafruit_PN532 nfc(wire);
void setup(void) {
Serial.begin(9600);
wire.begin();
// 初始化nfc
if (!nfc.begin(PN532_I2C_ADDRESS)) {
Serial.println("Couldn't begin()!");
while (1);
}
}
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // 存储卡号数组
uint8_t uidLength; // 卡号长度变量
void loop(void){
uint32_t id;
// 判断是否有标签靠近
int success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength );
if(success){
// 打印UID到串口监视器
Serial.print("Read card ID: ");
PrintHex(uid, uidLength);
delay(1000); // 延迟一秒再继续扫描新卡片
}else{
delay(500); // 如果未检测到任何东西,则等待半秒后重试
}
}
```
上述代码实现了基本的功能——启动设备之后不断监听是否存在Mifare类型的卡片接近感应区;一旦发现目标就会将其唯一识别码打印出来[^3]。
阅读全文
相关推荐


















