205|0

9

帖子

0

资源

一粒金砂(中级)

nrf52832调试记录之IO引脚配置 [复制链接]

本帖最后由 志心工作室 于 2020-11-18 14:38 编辑

    由于本工作室开发的蓝牙心电记录模块采用的是nrf52832作为主控芯片,在开发过程中遇到一些问题会陆续和大家分享:

    下图是nrf52832芯片QFN48封装的引脚图 image.png

其中P0.02~P0.05和P0.28~P0.31可配置为ADC采集引脚,其他的IO脚可任意分配到各个外设

其中P0.09和P0.10默认分配到NFC功能外设,如果需要设置为普通IO或映射到其他外设需要添加宏CONFIG_NFCT_PINS_AS_GPIOS

image.png

P0.21默认作为复位引脚,如果需要设置为普通IO或映射到其他外设需删除宏CONFIG_GPIO_AS_PINRESET 

image.png 但是实际调试删除后无效,debug观察发现PSELRESET还是连接到默认的复位引脚

image.png 查找源码发现下面的if语句始终不成立,因此需要手动修改 NRF_UICR->PSELRESET[0] NRF_UICR->PSELRESET[1]至需要的reset引脚或断开连接,我在debug调试的时候直接修改寄存器至空着的IO脚

由于此寄存器掉电不丢失,所以可以正常修改

/* Bit 31 : Connection */
#define UICR_PSELRESET_CONNECT_Pos (31UL) /*!< Position of CONNECT field. */
#define UICR_PSELRESET_CONNECT_Msk (0x1UL << UICR_PSELRESET_CONNECT_Pos) /*!< Bit mask of CONNECT field. */
#define UICR_PSELRESET_CONNECT_Connected (0UL) /*!< Connect */
#define UICR_PSELRESET_CONNECT_Disconnected (1UL) /*!< Disconnect */

 

 #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] = 0xffff;
            while (NRF_NVMC->READY == NVMC_READY_READY_Busy){}
            NRF_UICR->PSELRESET[1] = 0xffff;
            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

 

串口通信引脚

    配置串口通信时,当串口接收引脚悬空,并使能接收时容易出现错误,导致程序死在串口接收错误里,可在RX引脚接上拉电阻解决

 

由于正常使用的32768时钟所以未作IO配置

 

此帖出自RF/无线论坛

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表