首页 > 其他分享 >nrf52840 GPIOTE 高低精度设置问题

nrf52840 GPIOTE 高低精度设置问题

时间:2023-02-16 10:33:05浏览次数:30  
标签:设置 引脚 GPIOTE 事件 信号 nrf52840 port 精度

nrf52840 总共有8个GPIOTE通道,另外还有一个port事件,PORT 事件是多个引脚通过 GPIO DETECT 信号产生的事件,DETECT 信号的上升沿产生 PORT 事件(DETECT 信号是芯片 内部处理的逻辑,并不表示引脚只能在上升沿时触发 PORT 事件,引脚可以配置为上升沿、 下降沿或电平变化产生 PORT 事件);

芯片总共48个引脚共享这一个port事件,所以48个IO都可以触发port事件,在精度要求不高的时候,全部使用port事件也就是低精度模式是没有什么问题的;

8个GPIOTE通道,每个通道都可以分配给一个引脚,分配的引脚可 以配置为任务模式或事件模式。需要注意的是:不能将某个引脚同时分配给多个 GPIOTE 通道,否则会导致无法预料的错误。

如果设置GPIOTE为输出时,没有高低精度的概念,每设置一个引脚就会占用一个GPIOTE通道;

当设置为输入模式时,需要设置高低精度,如果设置为低精度,自动使用port的感知功能,设置为高精度才会占用一个GPIOTE通道;

这里的高低精度到底什么区别呢,其实就是启不启用高频时钟,当你的输入信号都在同一时刻到达时,建议使用高精度模式,因为低精度模式,某一时刻只能检测到一个活动的引脚,这一时刻有多长呢,根据低频时钟的猜测,大概就是30us,如果你检测的是外部来的中断信号,且同时会有很多个中断信号一起来时,还是要使用高精度。

我这里的例子就是,外部有8个接收天线,同时产生收到信号的中断信号,我这边需要去检测所有的中断,如果使用低精度模式,我最多只检测到5个中断信号,切换为高精度模式,能够同时检测到所有信号,但是这样一次就将所有通道全用了……

标签:设置,引脚,GPIOTE,事件,信号,nrf52840,port,精度
From: https://www.cnblogs.com/maodoudou/p/17125844.html

相关文章

  • 高精度定位技术分析
    高精度定位技术分析关于GPS、RTK、PPK三种定位技术的探讨高精度定位通常是指亚米级、厘米级以及毫米级的定位,从市场需求来看,定位的精度越高往往越好。“高精度、低成本”......
  • 计讯物联高精度定位GNSS接收机TN521在水库大坝变形监测的应用解析
    由于水库大坝在地质环境恶劣和气候条件复杂的条件下,水库坝体的稳定性会受到严重考验。为了保证水库大坝的安全运营,GNSS作为一种实现远程自动化测量的高精度的变形监测技术,......
  • C++奥赛一本通刷题高精度题解
    title:C++奥赛一本通刷题记录(高精度)date:2017-11-15tags:一本通openjudegecategories:OIC++奥赛一本通刷题记录(高精度)2017.11.15Bygwj1139177410大整数加法​......
  • bigdecimal 比较大小、bigdecimal 数学运算、bigdecimal 精度
    创建BigDecimal建议使用publicBigDecimal(Stringval),使用number参数可能会有精度问题设置精度setScale(3,BigDecimal.ROUND_HALF_UP),取三位小数,四舍五入比较大......
  • 如何处理大数加减乘除,解决精度丢失问题
    当我们处理大数的加减乘除的时候,直接加减会出现精度丢失的问题,或者出现科学记数法带e,这样我们在显示的时候就不合理,我看了好多的文章大部分都是将数字分割成字符串进行拼接......
  • P1000 高精度加法
    高精度问题C语言解决高精度问题需要使用模拟的方法来解决问题。我们进行模拟的时候要反过来,我们输入的时候要从低位往高位,但是我们算的时候要从高位往低位算。代码案例......
  • POJ 3625 Building Roads(最小生成树+卡输出精度)
    BuildingRoadsTimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 13247 Accepted: 3661DescriptionFarmerJohnhadjustacquiredseveralnewfarms!He......
  • AcWing 791. 高精度加法C++数组实现
    高精度加法a,b均为正整数#include<iostream>usingnamespacestd;constintN=100010;intA[N],B[N],C[N];intAdd(inta[],intb[],intc[],intcnt){......
  • PHP精度计算函数
    bcadd—将两个高精度数字相加bccomp—比较两个高精度数字,返回-1,0,1bcdiv—将两个高精度数字相除bcmod—求高精度数字余数bcmul—将两个高精度数字相乘bc......
  • 获取BigDecimal数字的千分位表示,同时保留精度
    获取BigDecimal数字的千分位表示,同时保留精度需求:BigDecimal---->String两种方法:自己编写逻辑方法使用java提供的API来转化/***转化一:自己拼接*/priv......