跳过主要内容

在进入睡眠模式时定义GPIO

DA14580

2年前

发布的gme_johannes15分 3回复
0的问题

我正在使用SDK 5.160.1.19(修改硬件/FW)进行(旧的)物联网项目。

我有一个在做广告的时候会闪烁的蓝色LED,很像物联网项目的原始代码。
有时,当设备进入睡眠状态时,LED会一直亮着。我想当wrbl_env。led_tmr_state = 1在这一刻。在震动传感器(运动唤醒)后,LED继续闪烁。

我注意到当进入睡眠状态时有三个回调选项:

.app_before_sleep =零,
.app_validate_sleep =零,
.app_going_to_sleep =零,

我应该使用哪一个来确保有关GPIO处于正确的状态?
或者是否有一种完全不同的方法来达到这个结果?

问候
约翰内斯

接受答案!

2年前

PM_Dialog

嗨gme_johannes,

如果我能从你的帖子中理解你的意思,你想要完成的是在设备处于主动模式时闪烁LED,因为DA14580进入睡眠状态,LED应该关闭?醒来后,LED应该处于闪烁模式。您能否澄清一下,以便提供正确的步骤?

谢谢,PM_Dialog

2年前

gme_johannes 15分

嗨PM_Dialog,

我想确定的是,在我的情况下闪烁的LED(物联网传感器的广告闪烁),在设备进入睡眠模式时不会卡在ON状态。
我注意到有时这种情况似乎会发生(据统计,在10%的情况下,在10%的情况下……)

认为约翰内斯

PS:我不小心把你的答案设置为“已接受的答案”

2年前

PM_Dialog

嗨gme_johannes,

当在没有连接的情况下发生超时时,user_app_on_adv_undirect_complete()函数将设备设置为低功耗模式,其中CPU处于Sleep模式,加速计处于低功耗anymotion检测模式。如果检测到一个运动,那么CPU就会唤醒并开始发布广告。此函数在广告计时器到期后调用。因此,一个可能的解决方案是关闭LED到user_app_on_adv_undirect_complete()回调函数。

谢谢,PM_Dialog