上一篇我們成功的在鴻蒙開發(fā)板上輸出了 Hello World!這一篇將帶大家點亮 LED 燈。
本文重點:
如何編寫點亮 LED 燈程序
如何編譯燒錄點亮 LED 燈程序
如何調(diào)試點亮 LED 燈程序
步驟
步驟一:添加點亮 LED 源碼文件
①新增 my_led 文件夾
在 ./applications/BearPi/BearPi-HM_Nanomple 路徑下新建一個 my_led 目錄,用于存放業(yè)務(wù)源碼文件。
②新增 led_example.c 文件
在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 路徑下新建一個 led_example.c 文件,該文件為業(yè)務(wù)源碼文件。
③新增 BUILD.gn 文件
在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 路徑下新建一個 BUILD.gn 文件,該文件為業(yè)務(wù)源碼編譯腳本。
步驟二:添加點亮 LED 燈源碼
代碼如下:
#include #include #include"ohos_init.h" #include"wifiiot_gpio.h" #include"wifiiot_gpio_ex.h" voidled(void) { GpioInit();//初始化GPIO IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO);//設(shè)置GPIO_2的復(fù)用功能為普通GPIO GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT);//設(shè)置GPIO_2為輸出模式 GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);//設(shè)置GPIO_2輸出高電平點亮LED燈 } APP_FEATURE_INIT(led);
步驟三:編寫業(yè)務(wù)編譯構(gòu)建文件 BUILD.gn
編寫用于將業(yè)務(wù)構(gòu)建成靜態(tài)庫的 BUILD.gn 文件:

在 ./applications/BearPi/BearPi-HM_Nanomple/my_led 下的 BUILD.gn 文件中添加如下代碼:
static_library("myled"){ sources=[ "led.c" ] include_dirs=[ "http://utils/native/lite/include", "http://base/iot_hardware/interfaces/kits/wifiiot_lite" ] }
static_library 中指定業(yè)務(wù)模塊的編譯結(jié)果,為靜態(tài)庫文件 libmyled.a,開發(fā)者根據(jù)實際情況完成填寫。
sources 中指定靜態(tài)庫 .a 所依賴的 .c 文件及其路徑,若路徑中包含"http://"則表示絕對路徑(此處為代碼根路徑),若不包含"http://"則表示相對路徑。
include_dirs 中指定 source 所需要依賴的 .h 文件路徑。
步驟四:編寫模塊編譯構(gòu)建文件 BUILD.gn
編寫模塊 BUILD.gn 文件,指定需參與構(gòu)建的特性模塊。

在 ./applications/BearPi/BearPi-HM_Nanomple 下的 BUILD.gn 文件中添加如下代碼:
import("http://build/lite/config/component/lite_component.gni")
lite_component("app"){
features=[
"my_led:myled",
]
}
my_led 是相對路徑,指向:
./applications/BearPi/BearPi-HM_Nanomple/my_led/BUILD.gnled 是目標(biāo),指向:
./applications/BearPi/BearPi-HM_Nanomple/my_led/BUILD.gn中的static_library("myled")
Led閃爍實驗
代碼如下:
調(diào)試LED程序
#include"ohos_init.h"
#include"unistd.h"
#include"wifiiot_gpio.h"
#include"wifiiot_gpio_ex.h"
voidled_delay(void)
{
GpioInit();
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO);
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT);
for(inti=0;i10;?i++)
{
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);
usleep(1000000);
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,0);
usleep(1000000);
}
}
APP_FEATURE_INIT(led_delay);
總結(jié)
如下:
#include"ohos_init.h"包含APP_FEATURE_INIT這個函數(shù) "http://base/iot_hardware/interfaces/kits/wifiiot_lite"相對路徑在Z:homeearpiBearPI_codeearpi-hm_nanoaseiot_hardwareinterfaceskitswifiiot_litewifiiot_gpio_ex.h Z:homeearpiBearPI_codeearpi-hm_nanoaseiot_hardwareinterfaceskitswifiiot_litewifiiot_gpio.h IoSetFunc————————》gpio的設(shè)置 GpioSetDir———————》gpio的模式
結(jié)果如下圖:

-
led
+關(guān)注
關(guān)注
244文章
24705瀏覽量
692400 -
led燈
+關(guān)注
關(guān)注
22文章
1606瀏覽量
112077 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6409瀏覽量
120618 -
鴻蒙
+關(guān)注
關(guān)注
60文章
3016瀏覽量
46163 -
鴻蒙開發(fā)板
+關(guān)注
關(guān)注
1文章
31瀏覽量
4863
原文標(biāo)題:鴻蒙上點亮LED燈
文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
點亮STM32、FPGA和Liunx板子的LED燈
在STM8上點亮LED的大致步驟有哪些
如何使用單片機(jī)點亮LED燈
如何使用AliOS Things在Developer Kit上點亮一個LED詳細(xì)教程
STM8S自學(xué)筆記-003 GPIO輸出:點亮LED燈 and 跑馬燈特效
鴻蒙上點亮LED燈
評論