通过按钮唤醒

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
11个帖子/ 0个新帖子
最后发表
Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
通过按钮唤醒

你好,

我正在工作的一个应用程序,其中大部分时间驻留在延长睡眠模式。我指的是prox_reporter的例子。我有以下几个问题。

1.我想唤醒我的系统时,按下按钮,以及释放。是可能的吗?
2.我可以根据我的申请状态控制通过按钮唤醒吗?意味着一旦生成中断,我想停止检测按钮唤醒中断。1秒后,我想再次重新启用按钮唤醒中断。

设备:
STS_Dialog(未验证)
嗨Ankit,

嗨Ankit,

选项:

当按钮被wkupct_enable_irq(uint32_t sel_pins, uint32_t pol_pins, uint16_t)按下或释放时,你可以唤醒你的系统

Events_num, uint16_t deb_time)函数通过定义极性(高或低)根据您的实现计划。

如果你没有调用wkupct_enable_irq()来启用中断,你可以在中断发生后停止检测按钮。

您可以在文档选项卡的软件开发工具包部分中建议UM-B-51。

谢谢STS_Dialog。

Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
我同意我可以醒来

我同意按下或释放按钮我都可以醒来。

但我想在这两件事上醒来。意味着当按钮被按下时,我想被称为button_press_cb(),当按钮释放时,我想被称为button_relase_cb()。

a.目前,我必须手动切换它们。意味着当我检测按钮按下时,我为按钮释放配置唤醒irq,当按钮释放时相同。如果有更好的解决办法,请告诉我。
b.关于停止检测,唤醒按钮,它是否适用,只要我调用wkupct_enable_irq()。函数?

STS_Dialog(未验证)
嗨Ankit,

嗨Ankit,

1)没有其他选项触发唤醒定时器,此过程由唤醒irq函数实现。这取决于极性的定义(高或低)。

2)如果你调用wkupct_enable_irq()启用中断,使按钮(唤醒定时器),在其他情况下,如果你不调用上述函数什么也不会发生。

谢谢,

STS_Dialog。

Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
我现在明白了。

我现在明白了。

让我们谈谈情景(b)。

我已经启用了叫醒按钮。在那个注册的回调函数被调用之后,我在里面做了一些处理。之后,如果我想继续接收那个按钮上的中断。我必须再次通过调用wkupct_enable_irq()函数启用irq吗?

STS_Dialog(未验证)
是的,你必须打电话给wkupct

是的,你必须再次调用wkupct_enable_irq()函数,否则当你再次按下按钮时将不会有中断(启动整个过程的中断时间)。正如你所看到的,你想按下按钮,使中断,所以你必须调用上述功能的次数。

谢谢STS_Dialog。

Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
你好,

你好,

每当按钮唤醒回调被调用,我必须配置按钮引脚每唤醒调用GPIO_ConfigurePin()函数?

MT_dialog
离线
最后看到:三个月两个星期前
工作人员
加入:2015-06-08 34
嗨Ankit,

嗨Ankit,

不,定义引脚功能的配置只在设备唤醒时完成一次,通过外围init()函数,你不需要做任何其他的唤醒中断来触发除了调用wkupct_enable_irq(),正如我的同事提到的。

由于MT_dialog

Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
现在我面临着新的

现在我正面临着新的问题。

我已经观察到,进入扩展睡眠模式后,有时不会检测到按钮事件。按下2-3次后,它实际上检测按钮按下事件,并调用唤醒回调。当设备不在睡眠模式时,它工作正常。看门狗在它中扮演角色吗?我启用了CFG_WDOG。

STS_Dialog(未验证)
嗨Ankit,

嗨Ankit,

我检查了您的场景,它工作良好(在进入延长睡眠模式之后),您可以检查当您按下按钮时,是否调用wkupct_enable_irq()函数。也许你在一个条件中调用函数,它是假的,另一个选择是再次检查极性。

谢谢你!

STS_Dialog。

Ankit
离线
最后看到:三个月四个星期前
加入:2017-05-24 07:42
嗨hantig,

嗨hantig,

请不要在现有的帖子中发布其他问题。为新问题创建一个新线程。

要启动新线程,请转到https://support.dialog-semiconductor.com/forum,选择相关论坛类别,如“dialog-smartbond-bluetooth-low-energy- software”。在这里你可以看到一个按钮“新主题”。通过点击它,你可以开始新的线程。