嗨达团队,
我正在更改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)I IS注册,配置并在Peripheral_Init()API中为SW3 / SW2启用IRQ。
如果我按SW3 / SW2,它不会生成任何中断请求。
你能分享任何简单的代码,如SW3 / SW2按下,LED切换。(如果有可能)
谢谢,
设备:

嗨gak,
对不起,但我有点困惑你的描述,所以请你澄清你想要完成的事情吗?如果我正确地理解,您正在研究SDK的BLE_APP_SLEEPMODE示例,您希望使用SW3或SW2唤醒您的设备?我明白了吗?此外,你能解释一下你的意思是你提到的apis不在运行时被称为“?请注意,我无法在示例的源代码中找到这些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)。
静态void app_button_enable(void)
{
app_easy_wakeup_set(app_wakeup_cb);
wkupct_register_callback(app_button_press_cb);
wkupct_enable_irq(wkupct_pin_plect(gpio_button_port,gpio_button_pin)| wkupct_pin_select(gpio_button_2_port,gpio_button_2_pin),//选择pin(gpio_button_port,gpio_button_pin)
wkupct_pin_polarity(gpio_button_port,gpio_button_pin,wkupct_pin_polarity_low)|wkupct_pin_polarity(gpio_button_2_port,gpio_button_2_pin,wkupct_pin_polarity_low),//极性低
1,// 1事件
40);// debouncing time = 0
}
使用此代码片段,您可以唤醒DA14580UP或SW3按钮。如果您发现任何答案有用请标记它已接受。
谢谢,PM_DIALOG.
谢谢你的支持