【nF7002-DK Wi-Fi® 6开发套件】新建工程及NFC标签读取
<div class='showpostmsg'> 本帖最后由 dirty 于 2023-11-5 23:10 编辑<p> 结合硬件资源,本篇主要实现新建工程及读取NFC标签。</p>
<p>准备工作:</p>
<p> 1.NFC标签天线按如下图1所示插入开发板,NORDIC丝印朝上,不要插反,插入好会有卡位感。</p>
<p> 2.手机上装NFC APP。Nordic推荐nRF Toolbox,资源应用商店像不大好获取,我用了替代的 复旦微 “NFC标签助手”,一样可以进行后面调测。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图1:NFC标签安装</div>
<p>一.新建工程</p>
<p> 1.打开VSCode,如图2。创建新应用工程及选择nfc工程。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图2:创建新应用工程</div>
<p> 2.设置工程路径及文件夹名。路径建议在SDK路径下.</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图3:选择工程路径及工程文件夹</div>
<p> 3 上述完成后,在SDK下生成工程文件夹,如图5左侧所示。配置编译选项,选择板级nrf77002dk_nrf5340_cpuapp_ns,(这里带ns为app跑非安全应用,不带nsapp跑安全应用),配置如下图4,。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图4:编译配置</div>
<p> 4. 在代码中加加些日志,以了解NFC事件。在ACTIONS选项build编译如图5.</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图5:工程文件及编译</div>
<p> 5. 烧录及打开串口</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图6:烧录程序及串口配置</div>
<p>二.NFC标签读取及解读</p>
<p> 1.手机开启NFC功能,打开NFC APP,靠近NFC天线。当感应到触发NFC 事件,开发板LED1亮,离开近场,LED1灭。调试串口打印相关日志(如图7)。NFC APP显示NFC标签信息(如图8)。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图7:NFC时间日志</div>
<p> </p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图8.NFC标签信息</div>
<p> 2. 解读代码及标签内容。</p>
<p> 在main.c中,初始化led,设置NFC 其注册了事件回调函数nfc_callback.接着注册了包名、负载。之后设置NFC负载数据,启动NFC感应.</p>
<p>实际测验标签内容与设置参数相一致,如下图9.</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">图9:NFC标签内容</div>
<p> 通过对NFC工程搭建与测试,进一步熟悉vscode环境下的开发。官方提供的API很多已经以lib形式封装好了,主要是跟着学会搭建、流程调用。</p>
<p> 此外对类Linux架构的zephyr OS要有一些基础,下面介绍分享一个很有用的资源库@,在浩繁的资料中可以针对性去找自己需要的API,助力对DK的学习开发。</p>
<p> </p>
<p> </p>
<p>zephyr API Document</p>
<p> <a href="https://docs.zephyrproject.org/latest/doxygen/html/index.html" target="_blank">https://docs.zephyrproject.org/latest/doxygen/html/index.html</a></p>
<p> </p>
<div style="text-align: center;"> </div>
<div style="text-align: center;"> </div>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>API很多已经以lib形式封装,这个确实很方便</p>
页:
[1]