⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
11个员额/0个新员额
最后一篇文章
安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
唤醒按钮

你好

我正在开发一个应用程序,它大部分时间处于延长睡眠模式。我指的是prox_reporter的例子。我有以下问题。

1.我想在按下和释放按钮时唤醒我的系统。可能吗?
2.我可以根据我的应用程序状态控制唤醒按钮吗?意味着我想停止检测按钮唤醒中断一旦中断产生。1秒后,我想再次启用按钮唤醒中断。

设备:
STS\U对话框(未验证)
嗨,安基特,

嗨,安基特,

选项:

1) 当wkupct_enable_irq(uint32_t sel_引脚、uint32_t pol_引脚、uint16_引脚)按下或释放按钮时,您可以唤醒系统

事件数、uint16时间)通过根据实施计划定义极性(高或低)来起作用。

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

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

谢谢你的对话。

安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
我同意我可以醒来

我同意我可以在按下或松开按钮时醒来。

但我想在这两件事上醒来。意思是当按下按钮时,我想被称为button_press_cb(),当松开按钮时,我想被称为button_relase_cb()。

A.目前,我必须手动在它们之间切换。意味着当我检测到按钮按下时,我正在为按钮释放配置唤醒irq,当按钮释放时也是如此。如果有更好的解决方案,请告诉我。
B关于停止检测,唤醒按钮,是否在我调用wkupct_enable_irq()时适用。作用

STS\U对话框(未验证)
嗨,安基特,

嗨,安基特,

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

2) 如果调用wkupct_enable_irq()将启用启用按钮(唤醒计时器)的中断,在其他情况下,如果不调用上述函数,则不会发生任何事情。

谢谢

STS_对话。

安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
我现在明白了。

我现在明白了。

让我们谈谈情形(b)。

我已在按下按钮时启用唤醒功能。在调用注册的回调函数之后,我在其中做了一些处理。之后,如果我想继续接收该按钮上的中断。是否必须通过调用wkupct_enable_irq()函数再次启用irq?

STS\U对话框(未验证)
是的,你必须打电话给wkupct

是的,您必须再次调用wkupct_enable_irq()函数,否则当您再次按下按钮时,将不会有中断(唤醒时间使整个过程中断)。正如您所看到的,您需要多次按下启用中断的按钮,因此您必须调用上述函数。

谢谢你的对话。

安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
你好

你好

每当调用按钮唤醒回调时,是否必须通过调用GPIO_ConfigurePin()函数在每次唤醒时配置按钮pin?

MT_对话框
离线
最后一次见到:3个月2周前
工作人员
加入:2015-06-08 11:34
嗨,安基特,

嗨,安基特,

不,定义管脚功能的配置只在设备唤醒时执行一次,通过periph_init()函数,您不必为唤醒中断执行任何其他操作,以触发appart调用wkupct_enable_irq(),正如我的同事所述。

谢谢你的对话

安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
现在我面临着新的挑战

现在我面临着新的问题。

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

STS\U对话框(未验证)
嗨,安基特,

嗨,安基特,

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

非常感谢。

STS_对话。

安基特
离线
最后一次见到:4个月2天前
加入:2017-05-24 07:42
嗨,汉蒂格,

嗨,汉蒂格,

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

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