在源码工程sample目录下新建my_led文件夹,在my_led目录下新建myled.c和BUILD.gn两个文件
- 在myled.c中加入以下内容
#include <stdio.h>
#include <unistd.h>
#include "ohos_init.h"
#include "cmsis_os2.h"
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
void my_led_example(void)
{
GpioInit(); // GPIO初时化
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO); // 设置GPIO2为普通GIOP功能
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT); //设置GPIO 2为输出
for(int i=0; i<1000; i++) /
{
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1); // GPIO 2输出高电平
usleep(1000000); // 延时1秒
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,0);// GPIO 2输出低电平
usleep(1000000);// 延时1秒
}
}
APP_FEATURE_INIT(my_led_example); // 注册初时化模块
- 在my_led目录下的BUILD.gn中加入以下内容
static_library("myled") { //静态编译成libmyled.a
sources = [
"myled.c" // 源文件名
]
include_dirs = [ // 头文件路径
"//utils/native/lite/include",
"//kernel/liteos_m/components/cmsis/2.0",
"//base/iot_hardware/interfaces/kits/wifiiot_lite",
]
}
- 使用MobaXterm编译,切到工程根目下,输入hpm dist进行编译,成功会有BUILD SUCCESS提示
- 打开HiBurn.exe运行,设置波特率为926100,并打开串口,选择Hi3861_wifiiot_app_allinone.bin,勾选Auto burn,复位开发板进行烧录
- 烧录完后断开串口,重新reset,运行效果图