关于DA1468x / DA1510x Pro-Development Kit中的引脚状态的进一步问题无法在睡眠时维护

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
5个帖子/ 0新
最后一篇
Useryr.
离线
最后一次露面:3年8个月前
加入:2016-11-08 08:28
关于DA1468x / DA1510x Pro-Development Kit中的引脚状态的进一步问题无法在睡眠时维护

嗨mt_dialog,

感谢您的帮助!

此主题是关于上一个主题的进一步疑问:
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...

应用了您提供的方法,通过重新配置Periph_init()中使用的引脚的GPIO函数。
现在可以在MPU睡觉时维护PIN状态。

在我们的项目中,我们希望在制作时保留外围设备和GPIO的所有设置,而不是每次MCU唤醒时都在PERIPH_INIT()中。
通过这种方式,随着我们的项目涉及可穿戴设备,我们可以保存相当大的电池电量,电池是一个关键问题。

那么你能否向我们提供这个功能的SDK?

设备:
mt_dialog.
离线
最后一次露面:6个月2周前
职员
加入:2015-06-08 11:34
嗨Useryr,

嗨Useryr,

正如您之前的帖子中提到的那样,您的失去外围设备的状态并不是因为设备正在睡觉,而是因为设备正在醒来,设备在睡眠模式下保留其引脚的状态,但醒来时UP,您必须重新配置您的引脚(使用特定功能应用引脚),因此执行Periph_Init()函数,如果您不会“记住”该应用程序已更改的PIN的状态,则在其默认值中将配置PIN状态。您应该“记住”引脚的状态并在唤醒Periph_init()函数时应用正确的状态。另外,通过在醒来之前重新配置您的引脚不会消耗任何额外的电源,无法唤醒以配置外围设备,该设备将唤醒以服务于BLE,并将运行Periph_init()代码,没有额外的功耗。

谢谢mt_dialog.

Useryr.
离线
最后一次露面:3年8个月前
加入:2016-11-08 08:28
嗨mt_dialog,

嗨mt_dialog,

是的,我明白,如果一个人在Periph_init()中没有完成重新配置,则应默认引脚应默认为初始状态。

但我不明白的是“谁做了这个初始化?”如果MCU硬件这样做,那么它可以完成任何事情。
您是否隐含地意味着这种情况,通过说“失去状态......因为设备正在醒来”?

mt_dialog.
离线
最后一次露面:6个月2周前
职员
加入:2015-06-08 11:34
嗨Useryr,

嗨Useryr,

对不起,如果您使用的设备中使用任何GPIO在您的设备中使用任何GPIO,则应在休眠状态时将这些引脚配置为休眠状态,并且HW能够保留引脚的状态(GPIO寄存器不会保留,因此当睡眠和唤醒寄存器时,寄存器将转到其默认值,并且根据此瞬间(睡眠前的PIN状态),PIN将在睡眠前的状态下锁存。在唤醒时,系统电源管理器将在设备唤醒时再次调用periph_init(),以便在焊盘后面重新初始化所有数字电路,以便在应用程序使用的值中设置GPIO寄存器,因此在初始化后,您还应该应用配置和寄存器在设备睡眠前的状态。

谢谢mt_dialog.

Useryr.
离线
最后一次露面:3年8个月前
加入:2016-11-08 08:28
嗨mt_dialog,

嗨mt_dialog,

“GPIO寄存器未保留”澄清一切!

非常感谢!