DSPS项目和外围init

⚠️
大家好. .谢谢你来参加论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,并包含在Dialog主网站中。所有的帖子和账户都已迁移。我们现在只接受新论坛的流量-请张贴任何新的线程//www.xmece.com/support.我们将在未来几天修复漏洞/优化搜索和标签。
4个职位/ 0个新
最后发表
Daekeun云
离线
最后看到:6个月前
加入:2015-05-27凌晨5
DSPS项目和外围init

你好
我正在尝试使用DSPS项目(DSPS 5.150.2)。我在DSPS原始项目中添加了一个特性来控制GPIO。
当我改变特征值时,我可以检查gpio是否被改变。
问题是'BLE_WAKEUP_LP_Handler'被连续调用,它正在调用' perid_init '函数,以便gpio的状态在被BLE更改后立即回到默认状态。
你能给我一些建议吗?

设备:
PM_Dialog
离线
最后看到:5天9小时前
工作人员
加入:2018-02-08 11:03
嗨,尹大根,

嗨,尹大根,

在唤醒之后调用BLE_WAKEUP_LP_Handler,正如您已经提到的,该处理程序执行外围init,因此丢失睡眠之前的gpio配置。如果您希望在唤醒后保持GPIO配置,您应该在切换LED的函数中添加一个标志,然后将该标志检入到perid_int()中,并将GPIO配置为先前的状态。

谢谢,PM_Dialog

Daekeun云
离线
最后看到:6个月前
加入:2015-05-27凌晨5
谢谢你的回复。

谢谢你的回复。
即使我禁用了睡眠模式,仍然会持续调用perid_init。
这有什么原因吗?

da1458x_config_basic.h
# undef CFG_MEM_MAP_EXT_SLEEP
# undef CFG_MEM_MAP_DEEP_SLEEP

PM_Dialog
离线
最后看到:5天9小时前
工作人员
加入:2018-02-08 11:03
嗨,尹大根,

嗨,尹大根,

请注意,DSPS参考设计应用程序代码不支持深度睡眠模式。只支持主动休眠和扩展休眠。您发布的宏与启用/禁用扩展或深度睡眠模式无关。如果要更改睡眠模式,则应该配置app_default_sleep_mode值与适当的变量转换为user_config.h头文件。

  • 扩展睡眠模式配置

const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON

  • 主动模式配置

const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF

谢谢,PM_Dialog