你好,我想问一下关于keil的press button。我使用“wkupct_enable_irq”函数来处理两个事件。按2下后会触发“app_button_press_cb”功能,正常工作。但问题是,这不是“双压”。目前,按钮将识别2按下间隔3秒(第一次按在第一秒,第二次按在第三秒)。我需要按钮识别2按下间隔1秒(第一次和第二次按下在第一秒),所以它将成为"双按"我可以改变重置事件定时器吗?或者有什么功能可以让我“双击”?
谢谢你!
嗨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
这是我的函数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 push40);//恢复时间= 0但是我在我的项目中添加了睡眠模式(扩展睡眠模式),这是问题吗?
我已经将SDK的ble_app_sleepmode示例修改为扩展睡眠模式,我能够通过“双按”开关按钮唤醒设备。所以,如果你将扩展睡眠模式添加到你的项目中,你应该能够醒来,这是没有问题的。
嗨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
这是我的函数
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
但是我在我的项目中添加了睡眠模式(扩展睡眠模式),这是问题吗?
嗨Kevleo94,
我已经将SDK的ble_app_sleepmode示例修改为扩展睡眠模式,我能够通过“双按”开关按钮唤醒设备。所以,如果你将扩展睡眠模式添加到你的项目中,你应该能够醒来,这是没有问题的。
谢谢,PM_Dialog