登录
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】小白写个入门程序——按键控制LED灯的亮灭(查询方式)
开发板试用精选
2022-11-01
870
分享海报
开发板试用精选
807 文章
84.2w阅读
142粉丝
+关注
描述
本文来源电子发烧友社区,作者: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,用查询方式检测按键状态,功能实现如下:
#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)循环,不断查询GPIO状态,
while (1)
{
GpioGe
ti
nputVal(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文件,如图所示:
程序运行效果如视频所示:
项目源代码及下载地址,见作者原帖子内容
打开APP阅读更多精彩内容
点击阅读全文
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
wi-fi
HarmonyOS
HiSpark
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】智能门禁系统
2020-09-25
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】小核桃——云脑
2020-09-25
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连
连载
】开箱报告
2020-09-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
】群英荟萃,Hi3861开发板开箱大盘点
2020-10-27
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】基于
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
的温控面板
2020-10-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
套件
试用
连载
】家庭健康监测系统
2020-10-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
HarmonyOS
智能家居
套件
试用
】智能卧室
2020-10-29
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】2-从DEMO中学习代码与
控制
2020-11-07
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】开发
套件
初探
2020-11-22
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】CHAPTER 1 ---- 开箱报告
2020-12-31
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】
小白
写个
入门
程序
——
按键控制
LED
灯
的
亮
灭
(
查询
方式
)
2021-01-26
0
【
HarmonyOS
HiSpark
Wi-Fi
IoT
套件
试用
连载
】播放音乐
2022-10-31
962
全部
0
条评论
快来发表一下你的评论吧 !
发送
登录/注册
×
20
完善资料,
赚取积分