0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙上點亮LED燈

OpenHarmony技術(shù)社區(qū) ? 來源:OST開源開發(fā)者 ? 作者:HUAWEI_Engineer ? 2023-01-16 10:28 ? 次閱讀

上一篇我們成功的在鴻蒙開發(fā)板上輸出了 Hello World!這一篇將帶大家點亮 LED 燈。

本文重點:

如何編寫點亮 LED 燈程序

如何編譯燒錄點亮 LED 燈程序

如何調(diào)試點亮 LED 燈程序

步驟

步驟一:添加點亮 LED 源碼文件

2e53a5c8-94a5-11ed-bfe3-dac502259ad0.png

①新增 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 燈源碼

2e659bfc-94a5-11ed-bfe3-dac502259ad0.png

代碼如下:

#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 文件:

2e7701d0-94a5-11ed-bfe3-dac502259ad0.png

在 ./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)建的特性模塊。

2e93a0f6-94a5-11ed-bfe3-dac502259ad0.png

在 ./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.gn
led 是目標(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;i

總結(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é)果如下圖:

2ea21c58-94a5-11ed-bfe3-dac502259ad0.png

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    240

    文章

    23073

    瀏覽量

    657086
  • led燈
    +關(guān)注

    關(guān)注

    22

    文章

    1592

    瀏覽量

    107753
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4900

    瀏覽量

    97067
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2303

    瀏覽量

    42693
  • 鴻蒙開發(fā)板
    +關(guān)注

    關(guān)注

    1

    文章

    21

    瀏覽量

    4464

原文標(biāo)題:鴻蒙上點亮LED燈

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    點亮STM32、FPGA和Liunx板子的LED

    摘要:你點亮過多少板子的LED呢?有很多小伙伴要求講一下STM32、FPGA、Liunx三者之間有什么不同。其實不同點很多,口說無憑,今天就來點亮一下STM32、FPGA和Liunx
    的頭像 發(fā)表于 04-18 11:16 ?9209次閱讀

    匯編點亮LED——極簡的魅力

    介紹4句匯編語言點亮LED
    的頭像 發(fā)表于 04-27 08:58 ?78.8w次閱讀
    匯編<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>——極簡的魅力

    如何利用寄存器在stm32開發(fā)板上點亮一個LED

    如何利用寄存器在stm32開發(fā)板上點亮一個LED呢?其原理是什么?
    發(fā)表于 01-19 07:05

    在STM8上點亮LED的大致步驟有哪些

    **點亮LED**  點亮一個LED,應(yīng)該是大多數(shù)單片機(jī)教程的第一步。這是最為基礎(chǔ)的一步,也是最令人興奮的一步,邁出這一小步就是邁入STM
    發(fā)表于 02-25 06:37

    LED點亮程序

    LED點亮程序,適合初學(xué)者使用,單片機(jī)c語言程序。
    發(fā)表于 03-15 10:42 ?6次下載

    如何使用單片機(jī)點亮LED

    我們學(xué)單片機(jī),第一個程序就是點亮一盞LED,那么我單片機(jī)開啟面向?qū)ο蠓绞降牡谝徊揭彩?b class='flag-5'>點亮一盞LED
    發(fā)表于 07-16 17:39 ?4次下載
    如何使用單片機(jī)<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    如何使用AliOS Things在Developer Kit上點亮一個LED詳細(xì)教程

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用AliOS Things在Developer Kit上點亮一個LED詳細(xì)教程資料免費下載。
    發(fā)表于 05-22 18:00 ?8次下載
    如何使用AliOS Things在Developer Kit<b class='flag-5'>上點亮</b>一個<b class='flag-5'>LED</b>詳細(xì)教程

    如何使用寄存器點亮LED

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用寄存器點亮LED。
    發(fā)表于 04-15 17:00 ?10次下載
    如何使用寄存器<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    點亮LED的源代碼免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是點亮LED的源代碼免費下載。
    發(fā)表于 09-14 08:00 ?1次下載
    <b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>的源代碼免費下載

    51單片機(jī)——點亮一個LED

    51單片機(jī)——點亮一個LED文章目錄51單片機(jī)——點亮一個LED一、原理圖二、
    發(fā)表于 11-23 18:06 ?16次下載
    51單片機(jī)——<b class='flag-5'>點亮</b>一個<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    STM8S自學(xué)筆記-003 GPIO輸出:點亮LED and 跑馬燈特效

    **點亮LED**  點亮一個LED,應(yīng)該是大多數(shù)單片機(jī)教程的第一步。這是最為基礎(chǔ)的一步,也是最令人興奮的一步,邁出這一小步就是邁入STM
    發(fā)表于 01-13 12:38 ?7次下載
    STM8S自學(xué)筆記-003 GPIO輸出:<b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b> and 跑馬燈特效

    點亮LED條開源分享

    電子發(fā)燒友網(wǎng)站提供《點亮LED條開源分享.zip》資料免費下載
    發(fā)表于 11-18 09:17 ?4次下載
    <b class='flag-5'>點亮</b><b class='flag-5'>LED</b><b class='flag-5'>燈</b>條開源分享

    鴻蒙上實現(xiàn)“數(shù)字華容道”小游戲

    本篇文章教大家如何在鴻蒙上實現(xiàn)“數(shù)字華容道”小游戲。
    的頭像 發(fā)表于 12-26 09:52 ?1174次閱讀

    簡單的LED電路并點亮

    電子發(fā)燒友網(wǎng)站提供《簡單的LED電路并點亮.zip》資料免費下載
    發(fā)表于 02-03 09:23 ?1次下載
    簡單的<b class='flag-5'>LED</b><b class='flag-5'>燈</b>電路并<b class='flag-5'>點亮</b>

    鴻蒙上開發(fā)“小蜜蜂”游戲

    小時候我們有個熟悉的游戲叫小蜜蜂。本文教大家在鴻蒙上學(xué)做這個小蜜蜂游戲。
    的頭像 發(fā)表于 04-03 11:27 ?1601次閱讀