本文来源电子发烧友社区,作者: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,用查询方式检测按键状态,功能实现如下:
复制代码
由于STC15系列的51单片机和传统的51单片机的IO上电后默认处于弱上拉状态,因此仅仅需要上面几行代码就可以实现了。现在玩的是海思Hi3861芯片和鸿蒙OS这两样东西(暂且称为东西),这两样东西要实现像上面STC15单片机的这个功能,要如何实现呢?这个问题也是我学习鸿蒙开发入门的一个思路。
通过查开发板的原理图可以知道,LED1一端接到Hi3861芯片名为GPIO09的pin脚,另一端经过一个330欧电阻之后接到3.3V,按键S1一端接到芯片名为GPIO05的pin脚,另一端接到GND。要实现上面那个功能需要走的流程大概如下:
1、GPIO初始化
2、设置GPIO的复用功能,比如说某些GPIO脚有I2C、UART、ADC等功能,要设置成GPIO功能
3、设置GPIO的方向是输入或输出
4、设置GPIO管脚上下拉状态
主要实现代码如下:
复制代码
然后弄个while(1)循环,不断查询GPIO状态,
复制代码
具体完整代码已上传到附件中。有需要的朋友们可以下载附件解压后将文件夹复制到指定位置,如图所示

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


程序运行效果如视频所示:
项目源代码及下载地址,见作者原帖子内容
以前只是简单的玩过51单片机,现在直接玩鸿蒙开发,处处碰壁、踩坑无数!根据官网教程搭好环境之后,官网的示例程序编译成功并且在开发板上运行了,然后就差点没有下文了,因为不知道接下来要怎么玩,如何玩?然后大量查阅资料,查阅C语言教程,补充C语言知识。现在来写个入门程序:用一个按键控制LED灯的亮灭来跟大家分享一下,希望对像我这样的小白有帮助,由于水平有限,难免有错误或不知足之处,希望各位大佬们指正。
以前玩51单片机的朋友们都知道要用一个按键来控制LED灯的亮灭如何实现,比如说stc15系列的51单片机,LED一端接在P09的IO脚上,另一端经过一个电阻接到VCC,按键一端接到P05的IO脚,另一端接GND,用查询方式检测按键状态,功能实现如下:
- #include
- int main
- {
- while(1)
- {
- if(!P05) P09 = 0;
- else P09 = 1;
- }
- }
由于STC15系列的51单片机和传统的51单片机的IO上电后默认处于弱上拉状态,因此仅仅需要上面几行代码就可以实现了。现在玩的是海思Hi3861芯片和鸿蒙OS这两样东西(暂且称为东西),这两样东西要实现像上面STC15单片机的这个功能,要如何实现呢?这个问题也是我学习鸿蒙开发入门的一个思路。
通过查开发板的原理图可以知道,LED1一端接到Hi3861芯片名为GPIO09的pin脚,另一端经过一个330欧电阻之后接到3.3V,按键S1一端接到芯片名为GPIO05的pin脚,另一端接到GND。要实现上面那个功能需要走的流程大概如下:
1、GPIO初始化
2、设置GPIO的复用功能,比如说某些GPIO脚有I2C、UART、ADC等功能,要设置成GPIO功能
3、设置GPIO的方向是输入或输出
4、设置GPIO管脚上下拉状态
主要实现代码如下:
- GpioInit();
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
- IoSetPull(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_PULL_UP);
- while (1)
- {
- GpioGetinputVal(WIFI_IOT_GPIO_IDX_5, &S2_status);
- if(!S2_status)
- {
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
- }
- else GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
- }

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


程序运行效果如视频所示:
项目源代码及下载地址,见作者原帖子内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
wi-fi
+关注
关注
15文章
2460浏览量
129997 -
HarmonyOS
+关注
关注
80文章
2157浏览量
36280 -
HiSpark
+关注
关注
1文章
156浏览量
7798
发布评论请先 登录
相关推荐
热点推荐
技术资讯 I Wi-Fi 模块设计
。Wi-Fi模块可实现无缝连接和数据交换,对设备进行远程控制和监测。Wi-Fi模块设计旨在打造一套紧凑且高效的软硬件解决方案,使设备能够通过Wi-Fi网络通信。这类模块常用
【瑞萨FPB-RA6E2试用】GPIO-按键控制LED灯亮灭及设备树理解
GPIO-按键控制LED灯亮灭及设备树理解
0、视频教程
https://www.bilibili.com/video/BV1tximBqE
发表于 01-13 14:44
ESP32 Wi-Fi 控制 LED 灯的原理
LED灯的——从底层硬件连接,到网络通信逻辑,一步步拆解整个过程。一、系统概览ESP32是一颗集成度极高的芯片,内置Wi-Fi、蓝牙、双核MCU和丰富的外设接
Wi-Fi:无线连接的全球通用语
现代生活中不可或缺的无线连接方式。二、Wi-Fi的核心特点1. 高速率,宽带宽支持从几十Mbps到数Gbps的传输速率,满足高清视频、在线游戏等高带宽应用需求。2. 广泛兼容,生态成熟几乎所有智能终端均内置
发表于 01-07 09:49
Nordic发布nRF7002 EBII 开发板, 支持Wi-Fi 6, 解锁nRF54L新玩法
了 Wi-Fi 6 功能,帮助开发人员创建高性能、高能效的Wi-Fi 6 物联网解决方案。
基于 Nordic 的 nRF7002 Wi-Fi 协同 IC,nRF7002 EBII帮助 采用
发表于 12-10 11:58
Wi-Fi模块选型指南 | 低功耗蓝牙/Wi-Fi 6模块推荐 | 物联网设备集成攻略
物联网的快速发展,Wi-Fi技术的成熟的情况下,越来越多的场景需要用到Wi-Fi来无线传输数据,尤其是移动设备中,怎么再设备中选择合适的Wi-Fi模块呢?下面我们来介绍下Wi-Fi模块
浅谈Wi-Fi 6E与Wi-Fi 7的关键器件——BAW滤波器新技术
作者: Qorvo 亚太区无线连接事业部高级行销经理林健富 2020年1月,Wi-Fi联盟正式宣布开放6GHz频段(5925MHz-7125MHz),并将其命名为Wi-Fi 6E。2020年4月
发表于 09-19 18:29
•2445次阅读
解读Nordic基于SSID的Wi-Fi定位解决方案
,与 nRF91 系列蜂窝物联网模组配合使用,可实现基于 SSID 的 Wi-Fi 定位。Nordic基于SSID的Wi-Fi定位可以在室内和室外、城市和郊区以极其省电的方式获取精确的位置信息。这是对全球导航卫星系统(GNSS)
如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模块?
在NuMaker开发板上,有一个ESP-12F Wi-Fi模块;但是,Arduino IDE 中的 NuMaker UNO 包不提供该模块的相关控制。如果您希望在 Arduino IDE 中控制此模块,您应该如何进行?
发表于 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信号复杂性的提升,建议将硬件测试纳
有没有什么修复方法可以确保 AP 模式下的 Wi-Fi 和 BLE 连接同时正常工作?
我正在使用 CYBSYSKIT DEV 01 套件。我尝试在 AP 模式下打开 Wi-Fi 并宣传 BLE。我可以宣传 SoftAP 和 BLE。但是,我无法从中央设备连接到 BLE。它可以立即连接并断开连接。有没有什么修复方法可以确保 AP 模式下的
发表于 07-17 06:13
Wi-Fi 8:开启极高可靠性 (UHR) 连接的新纪元——1
英国作家狄更斯在《双城记》的开头写道:“这是最好的时代,也是最坏的时代。”
这句话若套用在现今Wi-Fi 的市场现状,何尝不是惊人的相似?
怎么说呢?Wi-Fi 从被发明至今已经经过了20多年的迭代
发表于 06-13 11:09
Wi-Fi HaLow如何突破传统Wi-Fi性能瓶颈?
视频推荐在万物互联的时代,传统Wi-Fi在覆盖范围、功耗、连接数上渐显不足。而Wi-FiHaLow的诞生,正在用黑科技打破传统Wi-Fi的性能瓶颈!今天,我们一起来探究Wi-FiHaL
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】小白写个入门程序——按键控制LED灯的亮灭(查询方式)
评论