了解更多常见问题解答教程

4个帖子/ 0新
最后一篇
HDHDH DDJEK.
离线
最后一次露面:3个月2周前
加入:2020-06-03 14:15
长按按钮

如何实现长按按钮事件?

我目前拥有以下内容并来自Arduino环境,我通常会使用Millis()来时间按下按钮。

静态void user_app_button_press_cb(void){uint8_t next_btn_event = 0;//读取按钮状态if(gpio_getpinstatus(gpio_button_port,gpio_button_pin)){app_sleep_env.custs1_btn_state = custs1_btn_state_released;next_btn_event = wkupct_pin_polarity_low;} else {app_sleep_env.custs1_btn_state = custs1_btn_state_pressture;next_btn_event = wkupct_pin_polarity_high;} //更新按钮特征结构structs structs strosts1_val_ntf_ind_req * req = ke_msg_alloc_dyn(custs1_val_ntf_alloc_dyn(prf_get_task_from_id(task_id_custs1),task_app,custs1_val_ntf_ind_req,def_svc1_button_state_charren);req-> conidx = app_env-> conidx;req-> notification = true;req-> handle = svc1_idx_button_state_val;req-> length = def_svc1_button_state_char_len; req->value[0] = app_sleep_env.custs1_btn_state; ke_msg_send(req); // Configure next button event user_app_set_button_event(next_btn_event); }

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:20小时29分钟前
职员
加入:2018-02-08 11:03
嗨Hdhdh Ddjek,

嗨Hdhdh Ddjek,

谢谢你的问题。您想在按钮释放后触发回调吗?睡眠模式时需要此按钮才能唤醒设备吗?如果是,请查看SKD的BLE_APP_SLEEPMODE示例并检查APP_BUTTON_ENABLE()函数。此示例使用唤醒控制器配置唤醒引脚。

可能您可能会查看关于长按钮的一些过去的论坛线程:

https://support.dialog-semicondiondiondiondiondum/forums/post/dialog-smartbond-da1458x-bt42-%2%80%93-software/button-long -press-detection.

https://support.dialog-semicondiondiondiondum/forums/post/dialog-smartbond-bluetooth-low-energy-42-%ee2%80%93-software/button -press

如果您需要进一步支持/

谢谢,PM_DIALOG.

HDHDH DDJEK.
离线
最后一次露面:3个月2周前
加入:2020-06-03 14:15
以上没有帮助,所以什么

上面没有帮助,所以我想要的是,当3秒已经经过时,我想要的是只能在应用程序中显示01。

PM_DIALOG.
离线
最后一次露面:20小时29分钟前
职员
加入:2018-02-08 11:03
你好呀,

你好呀,

您能分享您的实施吗?

谢谢,PM_DIALOG.