DA14580的外部唤醒

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
5个职位/0个新职位
最后一篇文章
嘎克
离线
最后一次见到:1年9个月前
已加入:2018-10-01 11:18
DA14580的外部唤醒

嗨,爸爸团队,

我正在更改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切换(如果可能的话)

谢谢,

设备:
PM\U对话框
离线
最后一次见到:1周55分钟前
工作人员
已加入:2018-02-08 11:03
嗨,高克,

嗨,高克,

对不起,我对你的描述有点困惑,所以你能澄清一下你想达到什么目的吗?如果我理解正确,您正在使用SDK的ble\u app\u sleepmode示例,您想用SW3或SW2唤醒您的设备吗?我理解对了吗?另外,您能解释一下您提到的API“在运行时不被调用”是什么意思吗?请注意,我无法在示例的源代码中找到这些api。它们是您在应用程序代码中实现的自定义函数吗?最后,您正在开发哪个版本的SDK?

谢谢,下午好

嘎克
离线
最后一次见到:1年9个月前
已加入:2018-10-01 11:18
嗨,团队,

嗨,团队,

是的,没错。我想通过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”调用这个函数。

谢谢,

PM\U对话框
离线
最后一次见到:1周55分钟前
工作人员
已加入:2018-02-08 11:03
嗨,高克,

嗨,高克,

我会为您提供我们建议的程序,从2个不同的按钮(无论是SW2或SW3放在亲DK唤醒)。

  1. 在user\u periph\u setup.c/.h文件中配置并保留SW2和SW3。SW2已经在ble\u app\u sleepmode示例中配置,因此您应该只保留和配置SW3按钮(P1\u 1)。
  2. 将ble\u sleepmode.c中的app\u按钮\u enable()替换为以下代码段:\

静态无效应用程序按钮启用(无效)
{
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按钮。如果你发现任何有用的答案,请标记为接受。

谢谢,下午好

嘎克
离线
最后一次见到:1年9个月前
已加入:2018-10-01 11:18
谢谢你的支持

谢谢你的支持