⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
Kevleo94
离线
最后看到:2年11个月前
加入:2017-09-05 07:18
双机复位

你好,我想问一下关于keil的press button。
我使用“wkupct_enable_irq”函数来处理两个事件。按2下后会触发“app_button_press_cb”功能,正常工作。
但问题是,这不是“双压”。目前,按钮将识别2按下间隔3秒(第一次按在第一秒,第二次按在第三秒)。我需要按钮识别2按下间隔1秒(第一次和第二次按下在第一秒),所以它将成为"双按"
我可以改变重置事件定时器吗?或者有什么功能可以让我“双击”?

谢谢你!

设备:
PM_Dialog
离线
最后看到:5天17小时前
工作人员
加入:2018-02-08 11:03
嗨Kevleo94,

嗨Kevleo94,

你能说明一下,你是在开发自定义代码还是在开发sdk的ble例子吗?我已经修改了SDK的ble_app_sleepmode示例,以便在双击按钮后唤醒设备。我已经将wkupct_enable_irq()函数修改为app_button_enable(),代码如下:

wkupct_enable_irq(WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN), //选择pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)

wkupct_pin_极性(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN, WKUPCT_PIN_POLARITY_LOW), //极性低

2, // 2事件

40);//恢复时间= 40

通过这种方式,我可以在不到一秒的时间内按两次按钮来唤醒这个设备。函数的作用是:使用SetWord16(WKUP_RESET_CNTR_REG, 0)命令重置事件计时器。您是否修改了wkupct_enable_irq()函数,并因此在代码中添加了延迟?能否分享一下你们是如何实现双按按钮的,以帮助你们?

谢谢,PM_Dialog

Kevleo94
离线
最后看到:2年11个月前
加入:2017-09-05 07:18
这是我的函数

这是我的函数
wkupct_enable_irq(WKUPCT_PIN_SELECT(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN), //选择pin (GPIO_BUTTON_PORT, GPIO_BUTTON_PIN)
wkupct_pin_极性(GPIO_BUTTON_PORT, GPIO_BUTTON_PIN, WKUPCT_PIN_POLARITY_LOW), //极性低
2, // 2 push
40);//恢复时间= 0
但是我在我的项目中添加了睡眠模式(扩展睡眠模式),这是问题吗?

PM_Dialog
离线
最后看到:5天17小时前
工作人员
加入:2018-02-08 11:03
嗨Kevleo94,

嗨Kevleo94,

我已经将SDK的ble_app_sleepmode示例修改为扩展睡眠模式,我能够通过“双按”开关按钮唤醒设备。所以,如果你将扩展睡眠模式添加到你的项目中,你应该能够醒来,这是没有问题的。

谢谢,PM_Dialog