描述
首先咱们看一看Hi3861 WiFi-IOT 模块的引脚分布:
再看看LED灯的接线:
按键的接线:
可以看出板载的LED1是GPIO 9 引脚为低电平时,灯会点亮。
本文主要记录笔者通过调用OpenHarmony的NDK函数,实现对GPIO控制,达到通过用户按键S2来控制LED灯闪烁和灯灭的效果。
详细步骤:
1、 编写代码
笔者是在官方led_example.c 代码的基础上进行修改的。
首先
$cp led_example.c led_key.c
然后在 LedExampleEntry()函数类添加按键key的参数初始化代码:
配置GPIO5引脚为输入;
设置该引脚电平上拉;
接着在 *LedTask()函数中增加入我写的逻辑控制代码:
我写的控制想法是 按下按键时,led灯会闪烁;松开按键时,led灯灭。
注意:
在代码最下方,使用OpenHarmony启动恢复模块接口SYS_RUN()启动业务。(SYS_RUN定义在ohos_init.h文件中)
SYS_RUN(LedExampleEntry); //注意 ; 号不能少
2、 修改编译成静态库的脚本
3、 修改编译功能模块的脚本
4、 编译源码
$pythonbuild.py wifiiot
5、 烧录下载.bin文件
6、 运行效果
[media=x,500,375][/media]
至此,演示完毕。
7、 总结感悟
① 在HarmonyOS系统下进行常见外设的操作,如GPIO等,新手很容易上手。
② 不知道HarmonyOS 是否提供了超级终端这种操作,支持用户可以交互,动态加载执行编译好的可执行程序?
打开APP阅读更多精彩内容