新闻详情

新闻详情

首页 / 资讯中心 / 详情

STM32 玩转 NT3H2211 NFC 标签|I2C 驱动 + NDEF 文本 / URI 记录完整实践

发布时间:2026/11/13 11:06:02来源:尧图网络
STM32 玩转 NT3H2211 NFC 标签|I2C 驱动 + NDEF 文本 / URI 记录完整实践
前言最近做了基于 STM32L431VC NT3H2211 的 NFC 近场通信实验踩了 I2C 时序、NDEF 数据格式、中文 UTF‑8 编码不少坑。NT3H2211 是一枚很有意思的 Type‑2 类型 NFC 标签芯片具备I2C、RF 射频双访问接口单片机可以通过 I2C 读写标签内存手机可以通过 13.56MHz 射频无线读写两套接口访问同一片存储区域。本篇把完整调试过程、原理、代码关键点、问题排查整理出来方便大家快速上手。硬件环境主控STM32L431VCNFC 芯片NT3H2211 扩展板通信接口硬件 I2C1PB6 (SCL)、PB7 (SDA)调试工具串口助手 SSCOM波特率 115200NFC 伴侣 APP一、NT3H2211 核心原理NT3H2211 内存按照16 字节一页进行管理主要分为制造数据区、用户数据区、配置区。I2C 从机地址固定为0x55。双界面机制STM32 通过 I2C 改写标签内容手机靠近产生 13.56MHz 射频场既可以给无源标签供电也能读写数据。两边可以修改同一套存储这也是本次实验一个很有意思的现象手机 APP 写入数据会覆盖单片机 I2C 写入的内容。NDEF 格式NFC 数据交换标准格式。一条 NDEF 消息由多条记录组成每条记录包含消息标志位、类型、负载长度、负载数据。常见两种记录Text 文本记录、URI 链接记录。Text 文本记录负载结构状态字节 语言码 实际文本状态字节标记编码方式UTF‑8/UTF‑16以及语言码的字节长度。中文必须使用 UTF‑8 编码一个汉字占 3 字节。二、硬件 I2C 引脚配置要点PB6、PB7 复用为 I2C1这里是很多人踩坑的地方。GPIO_InitStruct.Pin GPIO_PIN_6|GPIO_PIN_7; GPIO_InitStruct.Mode GPIO_MODE_AF_OD; // 复用开漏I2C必须开漏输出 GPIO_InitStruct.Pull GPIO_PULLUP; // 上拉电阻保证总线电平 GPIO_InitStruct.Alternate GPIO_AF4_I2C1; HAL_GPIO_Init(GPIOB, GPIO_InitStruct);⚠️重点I2C 要使用开漏模式不能推挽输出。开漏搭配上拉电阻实现 I2C 总线 “线与” 逻辑。本实验时序配置0x10909CEC对应标准 100kHz I2C 速率。三、软件实现流程整体业务流程I2C初始化 → 读取芯片制造数据 → 配置CC容器初始化标签 → 写入NDEF文本记录 → 写入NDEF URI记录 → I2C读取用户区数据串口打印 → 等待手机NFC读取1、标签初始化初始化 I2C 之后读取制造页修改 CCCapability Container容器参数标记这是一块支持 NDEF 的 NFC 标签写完之后回读校验保证配置生效。void NFC_Init(void) { uint8_t buf[NFC_PAGE_SIZE] {0}; MX_I2C1_Init(); NT3HReaddManufactoringData(buf); buf[0] 0xAA; buf[12] 0xE1; // NDEF标签标识 buf[13] 0x10; // 版本1.0 buf[14] 0x6D; // 内存页数 buf[15] 0x00; NT3HWriteInitData(buf); NT3HReaddManufactoringData(buf); //回读验证 }2、写入 NDEF 文本、URI 记录封装好storeText()写入文本记录storeUrihttp()写入 URI 链接记录。第一条文本记录设置 MB1消息开始最后一条 URI 记录设置 ME1消息结束ret storeText(NDEFFirstPos, (uint8_t *)Hello NFC); ret storeUrihttp(NDEFLastPos, (uint8_t *)123.com);文本记录内部会设置状态字节0x02代表 UTF‑8 编码语言码长度 2 字节语言码en。3、读取标签数据串口输出循环读取多页用户区内存拼接缓冲区后串口输出。这里会出现一个现象串口打印出现大量乱码。NT3HReadUserpages(15, data_buf); printf(\r\nreaddata:%s, data_buf);乱码原因NDEF 原始是二进制数据包含消息头、记录头这些非 ASCII 不可打印字节直接用%s字符串打印就会乱码。数据本身没有损坏改用十六进制打印%02X就可以看到完整原始字节流。4、手机端验证两种验证手段直接手机 NFC 感应标签读取 NDEF 文本使用 NFC 伴侣 APP通过射频接口直接向标签写入中文姓名。实验中发现手机 APP 写入的中文 “尹强” 直接覆盖掉 STM32 通过 I2C 写入的 Hello NFC完美印证 NT3H2211 双界面共享存储的特性。解析数据包可以看到中文每个汉字占 3 字节 UTF‑8 编码。四、踩坑问题记录I2C 连续读写出错NT3H2211 芯片对时序有要求连续 I2C 读写之间必须加 1ms 延时。代码读写函数加入HAL_Delay(1)解决连续访问异常。手机 NFC 识别不到标签NFC 有效距离很短一般 1‑4cm手机 NFC 感应区域要紧贴天线位置屏蔽罩附近感应效果最好。中文显示乱码NDEF 文本记录状态字节必须指明 UTF‑8 编码如果设置错误中文就会解析乱码。不要用推挽模式配置 I2C 引脚会造成总线冲突通信完全失败。五、拓展脑洞基于这套硬件还可以做很多有意思项目NFC 电子名片写入 vCard 格式手机一碰添加联系人NFC 配网把 WiFi 账号密码写入标签手机一碰完成配网简易 NFC 门禁将学号身份信息存入标签传感器数据实时写入 NFC手机靠近读取温湿度等环境数据。小结这次实验把 I2C 外设驱动、NDEF 协议栈、NFC 芯片双界面特性完整跑通。NFC 底层不复杂但协议细节很多尤其 NDEF 各个字段、文本负载格式很容易忽略。遇到串口乱码不要第一时间认为硬件读写失败优先打印十六进制原始数据排查。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/13 10:09:00

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉