OpenHarmony鸿蒙硬件-控制核心板LED灯

说明

通过编程,控制下图中 D2 LED灯的开启和关闭

电路图

硬件说明

用跳线帽连接 J8 的两个 pin,可以使用 Hi3861 的 GPIOO9 引脚控制 D2-LED 的 打开/关闭 状态

  • 输出低电平点亮
  • 输出高电平熄灭

开发

步骤

  1. 初始化GPIO设备
  2. 设置管脚WIFI_IOT_IO_NAME_GPIO_9功能为IO
  3. 设置引脚WIFI_IOT_IO_NAME_GPIO_9方向为输出
  4. 给管脚WIFI_IOT_IO_NAME_GPIO_9输出低电平点亮LED灯
  5. 给管脚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引脚功能,详见链接

    • 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):设置 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

看到下图,说明编译成功


原文出处:/show_1GW1wIb7Bo1b.html