嗨对话框:
我使用需求方V5.150.2时,在da1458x_config_basic.h文件中并没有定义睡眠模式
# undef CFG_MEM_MAP_EXT_SLEEP
# undef CFG_MEM_MAP_DEEP_SLEEP
但运行时还是会进入
If ((sleep_mode == mode_ext_sleep) || (sleep_mode == mode_deep_sleep)) {
//关掉收音机,做任何允许做的事情
arch_goto_sleep (sleep_mode);
//等待中断恢复操作
注射用水();
/ /恢复操作
arch_resume_from_sleep ();
}
请问默认是开启的睡眠模式的么,如何将其关闭,如何在这个例程中添加IO口外部唤醒?
设备:
你好,
睡眠模式的定义在user_config.h中,修改代码:
/******************************************
*默认休眠模式。可能的值是:
*
*——ARCH_SLEEP_OFF
*——ARCH_EXT_SLEEP_ON
*——ARCH_DEEP_SLEEP_ON
******************************************
*/
const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;
当然,内存映射的配置也要跟着修改定义。把两个CFG_MEM_MAP_XXX_SLEEP都去定义即可
关于添加外部唤醒的机制可以去SDK的ble_sleepmode或者pxp记者参考例程中看一下。里面有实现基于按键的外部唤醒
嗨对话框:
SDK中ble_sleepmode和需求方睡眠构架和使用的唤醒函数一样的,但我还是遇到一些问题:
在da1458x_config_basic.h文件中
#定义CFG_APP
在rwip_config.h文件中
# ifdef CFG_APP
#定义BLE_APP_PRESENT 1
其他#
#定义BLE_APP_PRESENT 0
所以预处理中BLE_APP_PRESENT = 1导致两者下面两个用于唤醒设置和回调的函数无法被编译和调用
#if ((EXTERNAL_WAKEUP) && (!BLE_APP_PRESENT)) //只在全嵌入式设计
ext_wakeup_enable(uint32_t port, uint32_t pin, uint8_t极性)
{
...........
}
空白ext_wakeup_disable(空白)
{
..........
}
#endif // ((EXTERNAL_WAKEUP) && (!BLE_APP_PRESENT))
如果我想使用这两个函数,应该做哪些设置