你好大团队,
我改变BLE_sleep_mode_example应用程序使用外部GPIO(通过在Pro套件中使用SW3)中断作为唤醒。
为此,我在“user_app_main_loop_callbacks”中添加了API。
在这个“user_app_init”API中被正确地调用,但是用户定义的API如user_app_in_sleep、user_app_after_sleep和user_app_resume_from_sleep在运行时没有被调用。
而且我还正确地完成了这个API和keil IDE的定义和声明,没有显示任何错误/交战。
我可以知道这个用户定义api回调钩子的确切原因/步骤吗?
关于GPIO中断还有一个需要澄清的地方,
1)在Peripheral_init() API中注册、配置和启用SW3/SW2的IRQ。
如果我按下SW3/SW2,它不会产生任何中断请求。
你能不能分享一些简单的代码示例,如SW3/SW2按下,LED切换(如果可能的话)。
谢谢,
设备:

嗨GAK,
对不起,我对你的描述有点困惑,所以你能解释一下你想要完成的是什么吗?如果我理解正确,您正在处理SDK的ble_app_sleepmode示例,并且您想用SW3或SW2唤醒您的设备?我理解对了吗?另外,你能解释一下你提到的api“在运行时不被调用”是什么意思吗?请注意,我无法在示例的源代码中找到这些api。它们是您在应用程序代码中实现的定制函数吗?最后,您正在开发哪个版本的SDK ?
谢谢,PM_Dialog
嗨,团队,
是的,没错。我想通过SW3或SW2唤醒设备。
我使用SDK 5.0.4,我添加了自定义函数(user_app_in_sleep, user_app_after_sleep和user_app_resume_from_sleep是我创建的)在应用程序代码上,我想通过“user_app_main_loop_callbacks”调用这个函数。
谢谢,
嗨GAK,
我将为您提供从2个不同按钮(Pro-DK上放置的SW2或SW3)中唤醒的建议程序。
静态孔隙app_button_enable(空白)
{
app_easy_wakeup_set (app_wakeup_cb);
wkupct_register_callback (app_button_press_cb);
WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN), //选择pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)
//极性变低。//极性变低
1, // 1事件
40);//调试时间= 0
}
通过此代码片段,您可以唤醒da14580sw2或SW3按钮。如果你发现任何有用的答案,请标记为接受。
谢谢,PM_Dialog
谢谢你的支持