0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】[soon][第二篇]按键学习分享

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-07 13:51 次阅读
本文来源电子发烧友社区,作者: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.回调函数以及按键功能的定义

  1. static void KeyEvent_Callback(KEY_ID_TYPE keyid, KEY_EVENT_TYPE event)
  2. {
  3. printf("[soon] KeyEvent_Callback() : keyid=%d event= %dn", (int)keyid, (int)event);
  4. switch (keyid)
  5. {
  6. case KEY_ID_GPIO8:
  7. printf("[soon] KEY_ID_USERn");
  8. if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
  9. if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
  10. if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
  11. break;
  12. case KEY_ID_USER:
  13. printf("[soon] KEY_ID_USERn");
  14. if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
  15. if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
  16. if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
  17. break;
  18. case KEY_ID_S1:
  19. printf("[soon] KEY_ID_S1n");
  20. if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
  21. if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
  22. if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
  23. break;
  24. case KEY_ID_S2:
  25. printf("[soon] KEY_ID_S2n");
  26. if( event == KEY_EVENT_PRESSED ) { /*按下事件处理代码 */ }
  27. if( event == KEY_EVENT_LONG_PRESSED ) { /*长按事件处理代码 */ }
  28. if( event == KEY_EVENT_RELEESED ) { /*释放事件处理代码 */ }
  29. break;
  30. default:
  31. break;
  32. }
  33. }
复制代码

3.在task中调用,对按键进行初始化和配置,相关API如下。

  1. // 初始化按键事件处理
  2. KeyEvent_Init();
  3. /* 设置GPIO_8按键的回调函数*/
  4. KeyEvent_Connect("GPIO_8", KeyEvent_Callback, KEY_EVENT_PRESSED | KEY_EVENT_LONG_PRESSED | KEY_EVENT_RELEESED);
  5. /* 设置GPIO_5按键的回调函数*/
  6. 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

    文章

    2004

    浏览量

    122984
  • HarmonyOS
    +关注

    关注

    79

    文章

    1909

    浏览量

    29403
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    6781
收藏 人收藏

    评论

    相关推荐

    华为获得全球首个国际Wi-Fi联盟WFA企业级Wi-Fi 7认证!

    Wi-Fi联盟已发布Wi-Fi 7认证标准,华为是第一批送测厂商,获得业界首个企业级Wi-Fi 7 的Wi-Fi联盟官方认证。
    的头像 发表于 04-28 10:17 190次阅读
    华为获得全球首个国际<b class='flag-5'>Wi-Fi</b>联盟WFA企业级<b class='flag-5'>Wi-Fi</b> 7认证!

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦

    验证物联网Wi-Fi HaLow用例的MM6108-EKH08开发套件来啦 MM6108-EKH08开发套件专为验证物联网Wi-Fi HaLow用例而设计。该
    的头像 发表于 04-11 12:01 951次阅读
    验证物联网<b class='flag-5'>Wi-Fi</b> HaLow用例的MM6108-EKH08开发<b class='flag-5'>套件</b>来啦

    Wi-Fi 7与Wi-Fi 6的相关知识科普

    科普:Wi-Fi 7 vs. Wi-Fi 6,青出于蓝
    的头像 发表于 03-12 10:59 266次阅读
    <b class='flag-5'>Wi-Fi</b> 7与<b class='flag-5'>Wi-Fi</b> 6的相关知识科普

    Wi-Fi的诞生与发展

    短距离无线通信技术有Wi-Fi、ZigBee、蓝牙以及Z-Wave,今天我们先揭开Wi-Fi的神秘面纱。Chrent短距离无线通信技术——Wi-Fi过去的20多年,Wi-Fi靠着仅有的
    的头像 发表于 03-07 08:26 522次阅读
    <b class='flag-5'>Wi-Fi</b>的诞生与发展

    Wi-Fi 7商用元年:更宽的路应跑更好的车

    来源:中国电子报 近日,Wi-Fi联盟正式确认了Wi-Fi 7认证标准,标志着无线通信技术进入了一个新阶段。随着智能设备及物联网的普及,人们对可靠、快速无线通信的需求日益增强,Wi-Fi 7芯片组
    的头像 发表于 02-21 11:36 253次阅读

    Wi-Fi HaLow和传统Wi-Fi的区别

    Wi-Fi HaLow和传统Wi-Fi的区别  Wi-Fi是一种无线网络技术,可以连接到互联网或局域网,为用户提供无线上网的便利。随着科技的发展和互联网的普及,Wi-Fi也在不断演进和
    的头像 发表于 02-02 15:28 332次阅读

    康普携手Wi-Fi联盟,RUCKUS Wi-Fi 7系列接入点成Wi-Fi

     康普高级副总裁兼网络、智能蜂窝和安全解决方案总裁Bart Giordano对此表示: “我们非常荣幸能与Wi-Fi Alliance形成长期合作伙伴关系,将我们的RUCKUS Wi-Fi 7 接入点平台作为Wi-Fi CERT
    的头像 发表于 01-23 14:10 356次阅读

    BT Wi-Fi模式是否可以通过ModustoolBox对套件进行编程来实现?

    想配置用于分析 CYW43439 的 CY8CPROTO-062S2-43439 原型开发套件。 浏览文档我无法弄清楚如何在不同的 Wi-Fi 和蓝牙模式(电源模式、连接模式等)下配置套件。 在
    发表于 01-22 06:19

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢?

    Wi-Fi 6和Wi-Fi 5之间有哪些区别呢? Wi-Fi 6和Wi-Fi 5是无线局域网标准的两个版本,它们之间存在很多区别。Wi-Fi
    的头像 发表于 12-09 16:09 1197次阅读

    什么是Wi-Fi 6?什么是Wi-Fi 6E?什么是最适合我的应用的?

    自 1999 年 Wi-Fi 联盟成立以来,Wi-Fi 技术不断进步,以满足对更快速度和支持更多设备的日益增长的需求。
    的头像 发表于 11-20 09:23 586次阅读
    什么是<b class='flag-5'>Wi-Fi</b> 6?什么是<b class='flag-5'>Wi-Fi</b> 6E?什么是最适合我的应用的?

    摩尔斯微电子与卓越电子合作推出 Wi-Fi HaLow 物联网解决方案

    的无晶圆厂半导体公司摩尔斯微电子(Morse Micro),宣布与卓越电子(AsiaRF Corp)合作推出最新的 Wi-Fi HaLow IoT 解决方案。产品阵容包括 Wi-Fi HaLow 物联网
    发表于 10-08 15:27 348次阅读
    摩尔斯微电子与卓越电子合作推出 <b class='flag-5'>Wi-Fi</b> HaLow 物联网解决方案

    Wi-Fi6的IoT主场,何时到来?

    Wi-Fi7。相比于手机厂商勇追Wi-Fi技术最前沿,Wi-Fi IoT还停留在以Wi-Fi4、Wi-F
    的头像 发表于 08-21 10:01 584次阅读
    <b class='flag-5'>Wi-Fi</b>6的<b class='flag-5'>IoT</b>主场,何时到来?

    Wi-Fi 6E:Wi-Fi的下一个前沿

    电子发烧友网站提供《Wi-Fi 6E:Wi-Fi的下一个前沿.pdf》资料免费下载
    发表于 07-19 16:48 0次下载
    <b class='flag-5'>Wi-Fi</b> 6E:<b class='flag-5'>Wi-Fi</b>的下一个前沿

    支持 Quick-Connect IoT Wi-Fi 的云解决方案套件快速入门指南

    支持 Quick-Connect IoT Wi-Fi 的云解决方案套件快速入门指南
    发表于 06-30 19:38 0次下载
    支持 Quick-Connect <b class='flag-5'>IoT</b> <b class='flag-5'>Wi-Fi</b> 的云解决方案<b class='flag-5'>套件</b>快速入门指南

    Wi-Fi HaLow – 物联网应用的最新无线标准

    Wi-Fi HaLow(IEEE 802.11ah)是最新的无线标准,专为解决IoT(物联网)应用的主要挑战而设计。HaLow具有非常有效和高效的能力,可以在非常低的功率和比任何Wi-Fi更长
    发表于 06-09 09:42 706次阅读