【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】-8-按钮控制LED灯

描述

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


OpenHarmony WLAN模组基于Hi3861平台提供了丰富的外设操作能力,包含I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。

首先咱们看一看Hi3861 WiFi-IOT 模块的引脚分布:
HarmonyOS
再看看LED灯的接线:
HarmonyOS
按键的接线:
HarmonyOS
可以看出板载的LED1是GPIO 9 引脚为低电平时,灯会点亮。
本文主要记录笔者通过调用OpenHarmony的NDK函数,实现对GPIO控制,达到通过用户按键S2来控制LED灯闪烁和灯灭的效果。

详细步骤:
1、 编写代码
笔者是在官方led_example.c 代码的基础上进行修改的。
首先
$cp led_example.c led_key.c
然后在 LedExampleEntry()函数类添加按键key的参数初始化代码:
配置GPIO5引脚为输入;
设置该引脚电平上拉;
HarmonyOS
接着在 *LedTask()函数中增加入我写的逻辑控制代码:
我写的控制想法是 按下按键时,led灯会闪烁;松开按键时,led灯灭。
HarmonyOS
注意:
在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中)
SYS_RUN(LedExampleEntry);   //注意 ; 号不能少

2、 修改编译成静态库的脚本
HarmonyOS
3、 修改编译功能模块的脚本
HarmonyOS
4、 编译源码
$pythonbuild.py wifiiot
HarmonyOS
HarmonyOS
5、 烧录下载.bin文件
HarmonyOS
6、 运行效果
[media=x,500,375][/media]

至此,演示完毕。

7、 总结感悟
①   在HarmonyOS系统下进行常见外设的操作,如GPIO等,新手很容易上手。
②   不知道HarmonyOS 是否提供了超级终端这种操作,支持用户可以交互,动态加载执行编译好的可执行程序?
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分