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

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

3天内不再提示

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】小白写个入门程序——按键控制LED灯的亮灭(查询方式)

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-01 15:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:abcd7471, 帖子地址:https://bbs.elecfans.com/jishu_2033483_1_1.html

以前只是简单的玩过51单片机,现在直接玩鸿蒙开发,处处碰壁、踩坑无数!根据官网教程搭好环境之后,官网的示例程序编译成功并且在开发板上运行了,然后就差点没有下文了,因为不知道接下来要怎么玩,如何玩?然后大量查阅资料,查阅C语言教程,补充C语言知识。现在来写个入门程序:用一个按键控制LED灯的亮灭来跟大家分享一下,希望对像我这样的小白有帮助,由于水平有限,难免有错误或不知足之处,希望各位大佬们指正。
以前玩51单片机的朋友们都知道要用一个按键来控制LED灯的亮灭如何实现,比如说stc15系列的51单片机,LED一端接在P09的IO脚上,另一端经过一个电阻接到VCC,按键一端接到P05的IO脚,另一端接GND,用查询方式检测按键状态,功能实现如下:
  1. #include
  2. int main
  3. {
  4. while(1)
  5. {
  6. if(!P05) P09 = 0;
  7. else P09 = 1;
  8. }
  9. }
复制代码

由于STC15系列的51单片机和传统的51单片机的IO上电后默认处于弱上拉状态,因此仅仅需要上面几行代码就可以实现了。现在玩的是海思Hi3861芯片和鸿蒙OS这两样东西(暂且称为东西),这两样东西要实现像上面STC15单片机的这个功能,要如何实现呢?这个问题也是我学习鸿蒙开发入门的一个思路。
通过查开发板的原理图可以知道,LED1一端接到Hi3861芯片名为GPIO09的pin脚,另一端经过一个330欧电阻之后接到3.3V,按键S1一端接到芯片名为GPIO05的pin脚,另一端接到GND。要实现上面那个功能需要走的流程大概如下:
1、GPIO初始化
2、设置GPIO的复用功能,比如说某些GPIO脚有I2CUARTADC等功能,要设置成GPIO功能

3、设置GPIO的方向是输入或输出
4、设置GPIO管脚上下拉状态

主要实现代码如下:
  1. GpioInit();
  2. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
  3. IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
  4. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
  5. GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
  6. IoSetPull(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_PULL_UP);
复制代码
然后弄个while(1)循环,不断查询GPIO状态,
  1. while (1)
  2. {
  3. GpioGetinputVal(WIFI_IOT_GPIO_IDX_5, &S2_status);
  4. if(!S2_status)
  5. {
  6. GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
  7. }
  8. else GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
  9. }
复制代码
具体完整代码已上传到附件中。有需要的朋友们可以下载附件解压后将文件夹复制到指定位置,如图所示
125432i7ti39lv3t11tdzz.png


两个重要的BUILD.gn文件,如图所示:

130610k2tyt42f7y8ju4wg.png

130619hf5gis34nnri5hn5.png

程序运行效果如视频所示:

项目源代码及下载地址,见作者原帖子内容

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    15

    文章

    2382

    浏览量

    128912
  • HarmonyOS
    +关注

    关注

    80

    文章

    2147

    浏览量

    35591
  • HiSpark
    +关注

    关注

    1

    文章

    156

    浏览量

    7689
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略

    物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
    的头像 发表于 12-09 11:27 409次阅读
    <b class='flag-5'>Wi-Fi</b>模块选型指南 | 低功耗蓝牙/<b class='flag-5'>Wi-Fi</b> 6模块推荐 | 物联网设备集成攻略

    浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术

    作者: Qorvo 亚太区无线连接事业部高级行销经理林健富   2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
    发表于 09-19 18:29 1329次阅读
    浅谈<b class='flag-5'>Wi-Fi</b> 6E与<b class='flag-5'>Wi-Fi</b> 7的关键器件——BAW滤波器新技术

    解读Nordic基于SSID的Wi-Fi定位解决方案

    ,与 nRF91 系列蜂窝物联网模组配合使用,可实现基于 SSID 的 Wi-Fi 定位。Nordic基于SSID的Wi-Fi定位可以在室内和室外、城市和郊区以极其省电的方式获取精确的位置信息。这是对全球导航卫星系统(GNSS)
    的头像 发表于 09-09 17:11 2905次阅读
    解读Nordic基于SSID的<b class='flag-5'>Wi-Fi</b>定位解决方案

    如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模块?

    在NuMaker开发板上,有一个ESP-12F Wi-Fi模块;但是,Arduino IDE 中的 NuMaker UNO 包不提供该模块的相关控制。如果您希望在 Arduino IDE 中控制此模块,您应该如何进行?
    发表于 09-04 08:28

    如何更新 NuMaker IoT 板上的 Wi-Fi 模块固件?

    更新 NuMaker IoT 板上的 Wi-Fi 模块固件
    发表于 09-04 08:28

    基于 SSID 的 Wi-Fi 定位:与其他定位服务的性能比较

    ,与 nRF91 系列蜂窝物联网模组配合使用,可实现基于 SSID 的 Wi-Fi 定位。Nordic基于SSID的Wi-Fi定位可以在室内和室外、城市和郊区以极其省电的方式获取精确的位置信息。这是对全球
    发表于 08-31 21:01

    LitePoint Wi-Fi测试软件减轻客户设计负担

    Wi-Fi 7于一年多前获得Wi-Fi联盟认证以来,作为最新一代通信技术,Wi-Fi正逐步成为用户实现无所不在无线连接的新选择。随着每一代Wi-Fi信号复杂性的提升,建议将硬件测试纳
    的头像 发表于 08-06 15:34 906次阅读
    LitePoint <b class='flag-5'>Wi-Fi</b>测试软件减轻客户设计负担

    Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1

    英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。” 这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似? 怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
    发表于 06-13 11:09

    基于 Wi-Fi 的定位服务

    以下捕获使用 location_wifi_get 函数请求 Wi-Fi 定位服务。该事件的总功耗为 125.85mC,日志显示精确度为 30.0m。 Got location: method
    发表于 04-17 15:16

    nRF Cloud Wi-Fi 定位服务

    、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通过利用 nRF Cloud 的优化定位算法,基于 Nordic SoC 和 模组的产品可在定位用例
    发表于 04-17 15:07

    Wi-Fi 定位服务

    定位服务提供商维护。 通过查找数据库中的匹配模式并计算信号强度来估计位置的算法。 当设备查询定位服务时,它会提供它能看到的所有 Wi-Fi 网络的数据。该服务会在其数据库中查找这些网络,找到相关位置,并根据相似性和信号强度估算设备的位置。 ————————————————
    发表于 04-17 15:01

    Wi-Fi 7 与频率控制的关系

    作者:Poornima Apte 投稿人:DigiKey 北美编辑 2024-12-18 Wi-Fi 需要使用一定范围的无线电频率才能让设备进行通信拨号。多年来,Wi-Fi 一直使用 2.4 GHz
    的头像 发表于 01-25 14:45 1206次阅读
    <b class='flag-5'>Wi-Fi</b> 7 与频率<b class='flag-5'>控制</b>的关系

    串口与Wi-Fi的连接方式

    在现代通信技术中,串口和Wi-Fi是两种常见的数据传输方式。串口通信以其简单、稳定的特性在工业控制、嵌入式系统等领域得到广泛应用。而Wi-Fi作为无线局域网技术,因其灵活性和便捷性在家
    的头像 发表于 12-27 10:10 1849次阅读

    华为海思正式进入Wi-Fi FEM赛道?

    大家都知道了,2018年11 月离开锐迪科(RDA),前往福建晋江创立三伍微,专注于Wi-Fi射频前端芯片,从路由器Wi-Fi FEM,到手机Wi-Fi FEM,再到IoT FEM全覆
    发表于 12-11 17:42

    摩尔斯微电子发布Wi-Fi HaLow评估套件,加速物联网开发

    开发的得力助手。 该套件搭载了摩尔斯微电子的MM6108 Wi-Fi HaLow低能耗SoC、STM32U585低功耗微控制
    的头像 发表于 12-11 13:40 1055次阅读