找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 9|回复: 0

[Nordic] nRF54L15 GPIO 特性(四)

[复制链接]
连续签到天数:1天
签到总天数:8天
签到总奖励:36金币
发表于 6 小时前 | 显示全部楼层 |阅读模式
3.2 GPIOTE PORT EVENT
Port Event的响应速度稍慢,但功耗会低15uA。如果要使用更低功耗的Port Event,可以作如下择一选择
3.2.1.在DeviceTree Overlay文件中,在对应的GPIO Port的节点中,设置一个`sense-edge-mask`属性,把所有需要使用Port Event的引脚的对应bit设为1即可,例如:
如果是nRF54L15中button0和button1分别使用P1.13(0xd)和P1.09(0x9),可以在app.overlay中加如下配置将这两个引脚配置为port event,其余gpio button为Pin EVENT:
&gpio1 {    sense-edge-mask = <(BIT(13)|BIT(9))>;};
二进制展开为0010 0010 0000 0000,十六进制为0x2200,因此也可以表达为:
&gpio1 {    sense-edge-mask = <0x2200>;};
*BIT(13)的意思就是`0x00000001<<13`。
3.2.2.参考lbs的例程中app_button的用法对GPIO口进行配置
app_button/lbs检测button信号分为两个阶段
​ a.扫描模式
​ Module starts in scanning mode and will switch to callback mode if no button is pressed.
​ 模块以扫描模式启动,如果扫描模式期间没约发现button GPIO口电平变化(即按下按钮),软件将切换到事件中断(回调)模式。
​ b.事件中断模式,
​ app_button进入事件中断模式后,功耗也会随之降下来,并低于15uA。
​ 参考app_button/lbs的配置,即使我们不修改devicetree, 也能将GPIO button功能模块配置成port event状态,如:
gpio_flags_t flags = button.dt_flags & GPIO_ACTIVE_LOW ? GPIO_PULL_UP : GPIO_PULL_DOWN;ret = gpio_pin_configure_dt(&button, GPIO_INPUT | flags);ret = gpio_pin_interrupt_configure_dt(&button,GPIO_INT_LEVEL_ACTIVE);3.3 nRF54L15 GPIO休眠功耗 (Power Monitor for nRF54L15 GPIO event Wake UP)
3.3.1.Pin Event ppk2波形图

3.3.2.Port Event ppk2波形图

3.3.3.System OFF ppk2波形图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册  

×
楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-9-4 17:05 , Processed in 0.137818 second(s), 12 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表