嗨da队,
我正在改变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_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或SW2或SW3按钮。如果您发现任何答案有用请标记它。
谢谢,PM_DIALOG.
谢谢你的支持