本文来源电子发烧友社区,作者:soon顺soon, 帖子地址:https://bbs.elecfans.com/jishu_2008614_1_1.html
声明:关于Wifi-IoT的按键部分,以下两片文章做了很好的分享,本文基于对以下两篇文章的学习修改完成的,感谢原作者@狄泰软件学院客服的分享,如本文中有任何不妥请联系修改。先附上原文链接
tang实现物理按键的“长按事件”(按键通用框架 V0.0.2)
https://bbs.elecfans.com/jishu_2006297_1_1.html
Delphi Tang实现S1,S2,User三个物理按键的独立事件-上(解决思路分析)
https://bbs.elecfans.com/jishu_2007516_1_1.html
相关的理论知识以上两篇已经写得很好了,本人在其基础上进行了代码整合按照自己的需求修改代码,实现了四个物理按键USER(GPIO5)、显示板S1和S2、智能红绿灯板S1的按下、长按、释放事件。主要代码如附件1。使用方式请参考附件2。
大概步骤如下
1.导入头文件,具体路径依据你放的位置而定,相同目录下使用
#include "KeyEvent.h"
2.回调函数以及按键功能的定义
复制代码
3.在task中调用,对按键进行初始化和配置,相关API如下。
复制代码
附件1:
keyevent_demo.c
附件2:
keyevent.7z
下载文件见作者原帖子内容。
加上OLED显示的展示效果如下。https://v.youku.com/v_show/id_XNDk2MzU4OTY5Mg==.html
声明:关于Wifi-IoT的按键部分,以下两片文章做了很好的分享,本文基于对以下两篇文章的学习修改完成的,感谢原作者@狄泰软件学院客服的分享,如本文中有任何不妥请联系修改。先附上原文链接
tang实现物理按键的“长按事件”(按键通用框架 V0.0.2)
https://bbs.elecfans.com/jishu_2006297_1_1.html
Delphi Tang实现S1,S2,User三个物理按键的独立事件-上(解决思路分析)
https://bbs.elecfans.com/jishu_2007516_1_1.html
相关的理论知识以上两篇已经写得很好了,本人在其基础上进行了代码整合按照自己的需求修改代码,实现了四个物理按键USER(GPIO5)、显示板S1和S2、智能红绿灯板S1的按下、长按、释放事件。主要代码如附件1。使用方式请参考附件2。
大概步骤如下
1.导入头文件,具体路径依据你放的位置而定,相同目录下使用
#include "KeyEvent.h"
2.回调函数以及按键功能的定义
- static void KeyEvent_Callback(KEY_ID_TYPE keyid, KEY_EVENT_TYPE event)
- {
- printf("[soon] KeyEvent_Callback() : keyid=%d event= %dn", (int)keyid, (int)event);
- switch (keyid)
- {
- case KEY_ID_GPIO8:
- printf("[soon] KEY_ID_USERn");
- if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
- if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
- if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
- break;
- case KEY_ID_USER:
- printf("[soon] KEY_ID_USERn");
- if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
- if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
- if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
- break;
- case KEY_ID_S1:
- printf("[soon] KEY_ID_S1n");
- if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
- if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
- if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
- break;
- case KEY_ID_S2:
- printf("[soon] KEY_ID_S2n");
- if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
- if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
- if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
- break;
- default:
- break;
- }
- }
3.在task中调用,对按键进行初始化和配置,相关API如下。
- // 初始化按键事件处理
- KeyEvent_Init();
- /* 设置GPIO_8按键的回调函数*/
- KeyEvent_Connect("GPIO_8", KeyEvent_Callback, KEY_EVENT_PRESSED | KEY_EVENT_LONG_PRESSED | KEY_EVENT_RELEESED);
- /* 设置GPIO_5按键的回调函数*/
- KeyEvent_Connect("GPIO_5", KeyEvent_Callback, KEY_EVENT_PRESSED | KEY_EVENT_LONG_PRESSED | KEY_EVENT_RELEESED);
附件1:
keyevent_demo.c
附件2:
keyevent.7z
下载文件见作者原帖子内容。
加上OLED显示的展示效果如下。https://v.youku.com/v_show/id_XNDk2MzU4OTY5Mg==.html
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
14文章
2138浏览量
124450 -
HarmonyOS
+关注
关注
79文章
1974浏览量
30155 -
HiSpark
+关注
关注
1文章
156浏览量
6926
发布评论请先 登录
相关推荐
Wi-Fi 8要来了!未来Wi-Fi技术演进方向揭秘
产品销售中,虽然Wi-Fi 7产品的销量份额快速从年初的个位数百分比增长至14%,但Wi-Fi 6产品的销量份额依然稳定在60%左右。如果从存量设备来看,那么Wi-Fi 7路由器的占比将远远小于这个数。 智能手机等终端设备已
华为海思正式进入Wi-Fi FEM赛道?
大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
发表于 12-11 17:42
从Wi-Fi 4到Wi-Fi 7:网速飙升40倍的无线革命
1 Wi-Fi技术的快速发展 每一代新的Wi-Fi协议发布,都会带来更高的无线速率。 从Wi-Fi 4到Wi-Fi 7:无线网络技术显著提升,实现了网速的巨大飞跃。
Wi-Fi 7与Wi-Fi 6E有什么区别
也许很多人还在考虑是否要将使用的Wi-Fi设备升级到Wi-Fi 6或Wi-Fi 6E,而这些标准的继任者却已经开始“登堂入室”了。Wi-Fi 7是新一代
未来的Wi-Fi路由器
转载自——钟林谈芯 没有创新就没有未来,Wi-Fi路由器也是如此。 进入2024年以后,Wi-Fi路由器市场变得更加艰难,利润大幅下滑,BOM成本价高于市场价,接不接订单,都陷入两难。 国内主芯片
DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件 Pro数据手册.rar》资料免费下载
发表于 05-30 17:53
•1次下载
DA16200 超低功耗 Wi-Fi 模块开发套件数据手册
电子发烧友网站提供《DA16200 超低功耗 Wi-Fi 模块开发套件数据手册.rar》资料免费下载
发表于 05-30 17:13
•0次下载
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦
验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
Wi-Fi的诞生与发展
短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
WI-FI基础知识及飞易通SOC模块
=8bits) 第二代:以IEEE 802.11b为准,工作频段为2.4GHz, 最高速率半双工11Mbit/s,认证项目为“Wi-Fi CERTIFIED b” 第三代:以IEEE 802.11a为准,工作频段为5GHz,最高速率
Wi-Fi HaLow和传统Wi-Fi的区别
Wi-Fi HaLow和传统Wi-Fi的区别 Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi
康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?
想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。
浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。
在
发表于 01-22 06:19
评论