nRF52832/52840怎么将NFC引脚配置成通用IO(P0.09,P0.10)

对于Nordic SDK的程序架构来说,引脚的NFC功能和Reset功能主要是在system_nrf52.c,跳转进main函数前执行SystemInit进行初始化的。代码如下

void SystemInit(void)
{....../* Configure NFCT pins as GPIOs if NFCT is not to be used in your code. If CONFIG_NFCT_PINS_AS_GPIOS is not defined,two GPIOs (see Product Specification to see which ones) will be reserved for NFC and will not be available asnormal GPIOs. */#if defined (CONFIG_NFCT_PINS_AS_GPIOS)if ((NRF_UICR->NFCPINS & UICR_NFCPINS_PROTECT_Msk) == (UICR_NFCPINS_PROTECT_NFC << UICR_NFCPINS_PROTECT_Pos)){NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NRF_UICR->NFCPINS &= ~UICR_NFCPINS_PROTECT_Msk;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NVIC_SystemReset();}#endif/* Configure GPIO pads as pPin Reset pin if Pin Reset capabilities desired. If CONFIG_GPIO_AS_PINRESET is notdefined, pin reset will not be available. One GPIO (see Product Specification to see which one) will then bereserved for PinReset and not available as normal GPIO. */#if defined (CONFIG_GPIO_AS_PINRESET)if (((NRF_UICR->PSELRESET[0] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos)) ||((NRF_UICR->PSELRESET[1] & UICR_PSELRESET_CONNECT_Msk) != (UICR_PSELRESET_CONNECT_Connected << UICR_PSELRESET_CONNECT_Pos))){NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Wen << NVMC_CONFIG_WEN_Pos;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NRF_UICR->PSELRESET[0] = 21;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NRF_UICR->PSELRESET[1] = 21;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NRF_NVMC->CONFIG = NVMC_CONFIG_WEN_Ren << NVMC_CONFIG_WEN_Pos;while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}NVIC_SystemReset();}#endifSystemCoreClockUpdate();
}

由代码可以看出,特色功能的IO配置通用的配置方法是需要在编译选项里的全局变量进行设置的,如下:

话外,有些朋友曾经遇到过调试APP部分是OK,IO正常运行,而烧录三合一程序的时候就失效了。这种情况需要核对一下BootLoader里是否做了同样的配置。否则一旦BootLoader配置了其他功能,跳转到APP就会配置失效,需要留意

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/586023.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kimi和ChatGPT做古诗词阅读理解,谁更胜一筹?

前几天发过一篇Kimi整理会议的体验教程&#xff0c;没想到大家很感兴趣&#xff0c;这次再来拿Kimi做古诗词阅读理解看看&#xff0c;同时也对比下ChatGPT的效果。 ChatGPT是几乎家喻户晓的AI大模型&#xff0c;Kimi和它对比有哪些异同点呢&#xff1f; 首先它们都是基于对话…

docker容器添加新端口映射的步骤及`wsl$`目录的作用

在Docker容器已经创建后&#xff0c;需要添加新的端口映射&#xff0c;即对已经存在的Docker容器添加新的端口映射&#xff0c;可以通过以下步骤来添加&#xff0c;即通过修改配置文件的方法。 如何新增端口映射&#xff1f; 查找容器的hash值 docker inspect [容器id或名称…

docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

Kibana是一个开源的分析与可视化平台&#xff0c;设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。 Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等&#xff0c;直观的展示数据&#xff0c;从而达到高级的数据…

DTW-KNN 用于液压故障检测(python)

1 介绍 本文提取特征&#xff0c;然后用于液压故障检测&#xff0c;每一条特征都是时间序列问题&#xff0c;所以使用了DTW-KNN模型&#xff0c;该模型的原来不做解释&#xff0c;大家可以自行查找。 2 数据集介绍 所有数据都在文件夹下&#xff0c;这是一个公开数据集&…

PFA(可溶性聚四氟乙烯)弯嘴洗瓶

PFA材质&#xff0c;又称可溶性聚四氟乙烯&#xff0c;是进口的高纯原材料&#xff0c;耐强酸强碱耐腐蚀和各种有机溶剂。 常用规格:30ml/60ml/100ml/250ml/500ml 产品特性 1、耐高低温&#xff1a;使用温度可达-200~260℃&#xff1b; 2、可打刻度&#xff0c;高度透明&#x…

【Linux】自定义协议+序列化+反序列化

自定义协议序列化反序列化 1.再谈 "协议"2.Cal TCP服务端2.Cal TCP客户端4.Json 喜欢的点赞&#xff0c;收藏&#xff0c;关注一下把&#xff01; 1.再谈 “协议” 协议是一种 “约定”。在前面我们说过父亲和儿子约定打电话的例子&#xff0c;不过这是感性的认识&a…

捷途山海T2正式开启预售,新能源方盒子SUV仅售18.49万起

4月2日&#xff0c;捷途汽车宣布&#xff0c;定位为“旅行越野超混SUV”的山海T2正式开启预售。新车共计将推出3款不同配置车型&#xff0c;预售价格区间为18.49万-21.69万元。同时&#xff0c;预售期间捷途官方还将为用户推出7重预售礼。 山海T2是捷途山海系列第二款产品&…

testbench中一些常用的系统命令

前言 记录一下自己仿真过程中用到过的一些用于testbench的系统命令&#xff0c;根据自己用到的情况不定时进行补充。 文件操作 $fopen 用于打开文件的命令&#xff0c;格式如下 file $fopen("file_name","mode") file_name&#xff1a;要打开的文件…

innovus:add text脚本

我正在「拾陆楼」和朋友们讨论有趣的话题&#xff0c;你⼀起来吧&#xff1f; 拾陆楼知识星球入口 genPinText text.rpt -cells [dbGet top.name] set in [split [exec cat text.rpt] "\n"] foreach line $in { lassign $line name x y layer cell set pt_x [str…

linux监控命令全

1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态&#xff0c;并且可以按照cpu、内存和执行时间进行排序 1.1.2 用法 top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...] 1.1.3 参数说明 命令行启动参数&#xff1a; -b : 批次…

小白的第一次sql注入实战

前言 当时最初接触安全的时候拿下的第一个shell&#xff0c;还是比较兴奋的&#xff0c;忽略一下文章写的很水。 有id尝试sql注入 找这种sql注入的站用sql检索就行了&#xff0c;但是最好挂代理用谷歌搜索&#xff0c;百度的话搜sql注入的很多被别人打过了&#xff0c;导致链…

go入门到精通

初识Go语言 Go语言介绍 Go语言是什么 2009年11月10日&#xff0c;Go语言正式成为开源编程语言家庭的一员。 Go语言&#xff08;或称Golang&#xff09;是云计算时代的C语言。Go语言的诞生是为了让程序员有更高的生产效率&#xff0c;Go语言专门针对多处理器系统应用程序的编…