说明
通过编程,控制下图中 D2 LED灯的开启和关闭
电路图
硬件说明
用跳线帽连接 J8 的两个 pin,可以使用 Hi3861 的 GPIOO9 引脚控制 D2-LED 的 打开/关闭 状态
- 输出低电平点亮
- 输出高电平熄灭
开发
步骤
- 初始化GPIO设备
- 设置管脚WIFI_IOT_IO_NAME_GPIO_9功能为IO
- 设置引脚WIFI_IOT_IO_NAME_GPIO_9方向为输出
- 给管脚WIFI_IOT_IO_NAME_GPIO_9输出低电平点亮LED灯
- 给管脚WIFI_IOT_IO_NAME_GPIO_9输出高电平熄灭LED灯
代码
创建文件:
\\applications\sample\wifi-iot\app\code_v2.0\std_04\led_demo.c
代码:
#include <stdio.h>
#include "ohos_init.h"
#include <unistd.h>
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
#include "ohos_types.h"
void leddemo(void)
{
GpioInit(); //初始化GPIO设备
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_VALUE0);
printf("led on\n");
usleep(4000000);
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_VALUE1);
printf("led off\n");
}
SYS_RUN(leddemo);
代码说明
- GpioInit():初始化GPIO设备,详见链接
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO):设置GPIO引脚功能,详见链接
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT):设置 GPIO 引脚的方向,详见链接
- WIFI_IOT_GPIO_DIR_OUT:输出模式,详见链接
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_VALUE0):设置GPIO引脚输出电平值,详见链接
printf(“led on\n”):详见链接
usleep(1000 * 1000):详见链接
SYS_RUN(leddemo):详见链接
编辑BUILD.gn文件
编辑1
在代码同级目录创建下面文件:
BUILD.gn
内容:
# static_library中指定业务模块的编译结果.为静态库文件libmyapp.a,开发者根据实际情况完成填写。
#sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//"则表示绝对路径(此处为代码根路径),若不包含"//"则表示相对路径。
#include_dirs中指定source所需要依赖的.h文件路径。
static_library("traffic_demo") {
sources = [
"led_demo.c"
]
include_dirs = [
"//utils/native/lite/include",
"//base/iot_hardware/interfaces/kits/wifiiot_lite",
]
}
编辑2
编辑下面文件:
\\applications\sample\wifi-iot\app\BUILD.gn
内容:
import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"code_v2.0/std_03:hello_demo",
]
}
编译代码
在 Ubuntu 的 代码根目录下,执行下面命令:
python build.py wifiiot
看到下图,说明编译成功


