嗨,爸爸团队,
我正在更改BLE\u sleep\u mode\u示例应用程序,以便使用外部GPIO(通过使用Pro kit中的SW3)中断作为唤醒。
为此,我在“user\u app\u main\u loop\u callbacks”中添加了API。
在这个“user\u app\u init”中,API被正确调用,但用户定义的API类似于睡眠中的user\u app\u,睡眠后的user\u app\u和睡眠中的user\u app\u resume\u在运行时不被调用。
而且我也正确地完成了这个API和keilide的定义和声明,没有显示任何错误/错误。
我可以知道这个用户定义API回调钩子的确切原因/步骤吗。
还有一个关于GPIO中断的问题需要澄清,
1) 我在Peripheral\u init()API中为SW3/SW2注册、配置和启用IRQ。
如果我按下SW3/SW2,它不会产生任何中断请求。
你能分享一些简单的代码示例吗,比如按下SW3/SW2,LED切换(如果可能的话)
谢谢,
设备:
嗨,高克,
对不起,我对你的描述有点困惑,所以你能澄清一下你想达到什么目的吗?如果我理解正确,您正在使用SDK的ble\u app\u sleepmode示例,您想用SW3或SW2唤醒您的设备吗?我理解对了吗?另外,您能解释一下您提到的API“在运行时不被调用”是什么意思吗?请注意,我无法在示例的源代码中找到这些api。它们是您在应用程序代码中实现的自定义函数吗?最后,您正在开发哪个版本的SDK?
谢谢,下午好
嗨,团队,
是的,没错。我想通过SW3或SW2唤醒设备。
我使用的是SDK 5.0.4,我在应用程序代码中添加了自定义函数(user\u app\u in\u sleep、user\u app\u after\u sleep和user\u app\u resume\u from\u sleep都是我自己创建的),我想通过“user\u app\u main\u loop\u callbacks”调用这个函数。
谢谢,
嗨,高克,
我会为您提供我们建议的程序,从2个不同的按钮(无论是SW2或SW3放在亲DK唤醒)。
静态无效应用程序按钮启用(无效)
{
app\u easy\u wakeup\u set(app\u wakeup\u cb);
wkupct注册回调(app按钮按下cb);
wkupct_enable_irq(wkupct_PIN_SELECT(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ïU引脚ï极性(GPIOïU按钮ï端口,GPIOïU按钮ï引脚,WKUPCTïU引脚ï极性(GPIOïU按钮ïU端口,GPIOïU按钮ïU引脚,WKUPCTïU引脚ï极性ï低),//极性低
1,//1事件
40); // 去抖动时间=0
}
有了这个代码片段,您可以唤醒da14580的SW2或SW3按钮。如果你发现任何有用的答案,请标记为接受。
谢谢,下午好
谢谢你的支持