本文來(lái)源電子發(fā)燒友社區(qū),作者:abcd7471, 帖子地址:https://bbs.elecfans.com/jishu_2033483_1_1.html
以前只是簡(jiǎn)單的玩過(guò)51單片機(jī),現(xiàn)在直接玩鴻蒙開(kāi)發(fā),處處碰壁、踩坑無(wú)數(shù)!根據(jù)官網(wǎng)教程搭好環(huán)境之后,官網(wǎng)的示例程序編譯成功并且在開(kāi)發(fā)板上運(yùn)行了,然后就差點(diǎn)沒(méi)有下文了,因?yàn)椴恢澜酉聛?lái)要怎么玩,如何玩?然后大量查閱資料,查閱C語(yǔ)言教程,補(bǔ)充C語(yǔ)言知識(shí)?,F(xiàn)在來(lái)寫(xiě)個(gè)入門(mén)程序:用一個(gè)按鍵控制LED燈的亮滅來(lái)跟大家分享一下,希望對(duì)像我這樣的小白有幫助,由于水平有限,難免有錯(cuò)誤或不知足之處,希望各位大佬們指正。
以前玩51單片機(jī)的朋友們都知道要用一個(gè)按鍵來(lái)控制LED燈的亮滅如何實(shí)現(xiàn),比如說(shuō)stc15系列的51單片機(jī),LED一端接在P09的IO腳上,另一端經(jīng)過(guò)一個(gè)電阻接到VCC,按鍵一端接到P05的IO腳,另一端接GND,用查詢方式檢測(cè)按鍵狀態(tài),功能實(shí)現(xiàn)如下:
復(fù)制代碼
由于STC15系列的51單片機(jī)和傳統(tǒng)的51單片機(jī)的IO上電后默認(rèn)處于弱上拉狀態(tài),因此僅僅需要上面幾行代碼就可以實(shí)現(xiàn)了?,F(xiàn)在玩的是海思Hi3861芯片和鴻蒙OS這兩樣?xùn)|西(暫且稱為東西),這兩樣?xùn)|西要實(shí)現(xiàn)像上面STC15單片機(jī)的這個(gè)功能,要如何實(shí)現(xiàn)呢?這個(gè)問(wèn)題也是我學(xué)習(xí)鴻蒙開(kāi)發(fā)入門(mén)的一個(gè)思路。
通過(guò)查開(kāi)發(fā)板的原理圖可以知道,LED1一端接到Hi3861芯片名為GPIO09的pin腳,另一端經(jīng)過(guò)一個(gè)330歐電阻之后接到3.3V,按鍵S1一端接到芯片名為GPIO05的pin腳,另一端接到GND。要實(shí)現(xiàn)上面那個(gè)功能需要走的流程大概如下:
1、GPIO初始化
2、設(shè)置GPIO的復(fù)用功能,比如說(shuō)某些GPIO腳有I2C、UART、ADC等功能,要設(shè)置成GPIO功能
3、設(shè)置GPIO的方向是輸入或輸出
4、設(shè)置GPIO管腳上下拉狀態(tài)
主要實(shí)現(xiàn)代碼如下:
復(fù)制代碼
然后弄個(gè)while(1)循環(huán),不斷查詢GPIO狀態(tài),
復(fù)制代碼
具體完整代碼已上傳到附件中。有需要的朋友們可以下載附件解壓后將文件夾復(fù)制到指定位置,如圖所示

兩個(gè)重要的BUILD.gn文件,如圖所示:


程序運(yùn)行效果如視頻所示:
項(xiàng)目源代碼及下載地址,見(jiàn)作者原帖子內(nèi)容
以前只是簡(jiǎn)單的玩過(guò)51單片機(jī),現(xiàn)在直接玩鴻蒙開(kāi)發(fā),處處碰壁、踩坑無(wú)數(shù)!根據(jù)官網(wǎng)教程搭好環(huán)境之后,官網(wǎng)的示例程序編譯成功并且在開(kāi)發(fā)板上運(yùn)行了,然后就差點(diǎn)沒(méi)有下文了,因?yàn)椴恢澜酉聛?lái)要怎么玩,如何玩?然后大量查閱資料,查閱C語(yǔ)言教程,補(bǔ)充C語(yǔ)言知識(shí)?,F(xiàn)在來(lái)寫(xiě)個(gè)入門(mén)程序:用一個(gè)按鍵控制LED燈的亮滅來(lái)跟大家分享一下,希望對(duì)像我這樣的小白有幫助,由于水平有限,難免有錯(cuò)誤或不知足之處,希望各位大佬們指正。
以前玩51單片機(jī)的朋友們都知道要用一個(gè)按鍵來(lái)控制LED燈的亮滅如何實(shí)現(xiàn),比如說(shuō)stc15系列的51單片機(jī),LED一端接在P09的IO腳上,另一端經(jīng)過(guò)一個(gè)電阻接到VCC,按鍵一端接到P05的IO腳,另一端接GND,用查詢方式檢測(cè)按鍵狀態(tài),功能實(shí)現(xiàn)如下:
- #include
- int main
- {
- while(1)
- {
- if(!P05) P09 = 0;
- else P09 = 1;
- }
- }
由于STC15系列的51單片機(jī)和傳統(tǒng)的51單片機(jī)的IO上電后默認(rèn)處于弱上拉狀態(tài),因此僅僅需要上面幾行代碼就可以實(shí)現(xiàn)了?,F(xiàn)在玩的是海思Hi3861芯片和鴻蒙OS這兩樣?xùn)|西(暫且稱為東西),這兩樣?xùn)|西要實(shí)現(xiàn)像上面STC15單片機(jī)的這個(gè)功能,要如何實(shí)現(xiàn)呢?這個(gè)問(wèn)題也是我學(xué)習(xí)鴻蒙開(kāi)發(fā)入門(mén)的一個(gè)思路。
通過(guò)查開(kāi)發(fā)板的原理圖可以知道,LED1一端接到Hi3861芯片名為GPIO09的pin腳,另一端經(jīng)過(guò)一個(gè)330歐電阻之后接到3.3V,按鍵S1一端接到芯片名為GPIO05的pin腳,另一端接到GND。要實(shí)現(xiàn)上面那個(gè)功能需要走的流程大概如下:
1、GPIO初始化
2、設(shè)置GPIO的復(fù)用功能,比如說(shuō)某些GPIO腳有I2C、UART、ADC等功能,要設(shè)置成GPIO功能
3、設(shè)置GPIO的方向是輸入或輸出
4、設(shè)置GPIO管腳上下拉狀態(tài)
主要實(shí)現(xiàn)代碼如下:
- GpioInit();
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_FUNC_GPIO_5_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_GPIO_DIR_IN);
- IoSetPull(WIFI_IOT_IO_NAME_GPIO_5, WIFI_IOT_IO_PULL_UP);
- while (1)
- {
- GpioGetinputVal(WIFI_IOT_GPIO_IDX_5, &S2_status);
- if(!S2_status)
- {
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);
- }
- else GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);
- }

兩個(gè)重要的BUILD.gn文件,如圖所示:


程序運(yùn)行效果如視頻所示:
項(xiàng)目源代碼及下載地址,見(jiàn)作者原帖子內(nèi)容
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
wi-fi
+關(guān)注
關(guān)注
15文章
2430瀏覽量
129635 -
HarmonyOS
+關(guān)注
關(guān)注
80文章
2155瀏覽量
36091 -
HiSpark
+關(guān)注
關(guān)注
1文章
156瀏覽量
7767
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
技術(shù)資訊 I Wi-Fi 模塊設(shè)計(jì)
。Wi-Fi模塊可實(shí)現(xiàn)無(wú)縫連接和數(shù)據(jù)交換,對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制和監(jiān)測(cè)。Wi-Fi模塊設(shè)計(jì)旨在打造一套緊湊且高效的軟硬件解決方案,使設(shè)備能夠通過(guò)Wi-Fi網(wǎng)絡(luò)通信。這類模塊常用
【瑞薩FPB-RA6E2試用】GPIO-按鍵控制LED燈亮滅及設(shè)備樹(shù)理解
GPIO-按鍵控制LED燈亮滅及設(shè)備樹(shù)理解
0、視頻教程
https://www.bilibili.com/video/BV1tximBqE
發(fā)表于 01-13 14:44
ESP32 Wi-Fi 控制 LED 燈的原理
LED燈的——從底層硬件連接,到網(wǎng)絡(luò)通信邏輯,一步步拆解整個(gè)過(guò)程。一、系統(tǒng)概覽ESP32是一顆集成度極高的芯片,內(nèi)置Wi-Fi、藍(lán)牙、雙核MCU和豐富的外設(shè)接
Wi-Fi:無(wú)線連接的全球通用語(yǔ)
現(xiàn)代生活中不可或缺的無(wú)線連接方式。二、Wi-Fi的核心特點(diǎn)1. 高速率,寬帶寬支持從幾十Mbps到數(shù)Gbps的傳輸速率,滿足高清視頻、在線游戲等高帶寬應(yīng)用需求。2. 廣泛兼容,生態(tài)成熟幾乎所有智能終端均內(nèi)置
發(fā)表于 01-07 09:49
Wi-Fi模塊選型指南 | 低功耗藍(lán)牙/Wi-Fi 6模塊推薦 | 物聯(lián)網(wǎng)設(shè)備集成攻略
物聯(lián)網(wǎng)的快速發(fā)展,Wi-Fi技術(shù)的成熟的情況下,越來(lái)越多的場(chǎng)景需要用到Wi-Fi來(lái)無(wú)線傳輸數(shù)據(jù),尤其是移動(dòng)設(shè)備中,怎么再設(shè)備中選擇合適的Wi-Fi模塊呢?下面我們來(lái)介紹下Wi-Fi模塊
淺談Wi-Fi 6E與Wi-Fi 7的關(guān)鍵器件——BAW濾波器新技術(shù)
作者: Qorvo 亞太區(qū)無(wú)線連接事業(yè)部高級(jí)行銷經(jīng)理林健富 ? 2020年1月,Wi-Fi聯(lián)盟正式宣布開(kāi)放6GHz頻段(5925MHz-7125MHz),并將其命名為Wi-Fi 6E。2020年4月
發(fā)表于 09-19 18:29
?2191次閱讀
解讀Nordic基于SSID的Wi-Fi定位解決方案
,與 nRF91 系列蜂窩物聯(lián)網(wǎng)模組配合使用,可實(shí)現(xiàn)基于 SSID 的 Wi-Fi 定位。Nordic基于SSID的Wi-Fi定位可以在室內(nèi)和室外、城市和郊區(qū)以極其省電的方式獲取精確的位置信息。這是對(duì)全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)
如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模塊?
在NuMaker開(kāi)發(fā)板上,有一個(gè)ESP-12F Wi-Fi模塊;但是,Arduino IDE 中的 NuMaker UNO 包不提供該模塊的相關(guān)控制。如果您希望在 Arduino IDE 中控制此模塊,您應(yīng)該如何進(jìn)行?
發(fā)表于 09-04 08:28
基于 SSID 的 Wi-Fi 定位:與其他定位服務(wù)的性能比較
,與 nRF91 系列蜂窩物聯(lián)網(wǎng)模組配合使用,可實(shí)現(xiàn)基于 SSID 的 Wi-Fi 定位。Nordic基于SSID的Wi-Fi定位可以在室內(nèi)和室外、城市和郊區(qū)以極其省電的方式獲取精確的位置信息。這是對(duì)全球
發(fā)表于 08-31 21:01
LitePoint Wi-Fi測(cè)試軟件減輕客戶設(shè)計(jì)負(fù)擔(dān)
自Wi-Fi 7于一年多前獲得Wi-Fi聯(lián)盟認(rèn)證以來(lái),作為最新一代通信技術(shù),Wi-Fi正逐步成為用戶實(shí)現(xiàn)無(wú)所不在無(wú)線連接的新選擇。隨著每一代Wi-Fi信號(hào)復(fù)雜性的提升,建議將硬件測(cè)試納
Wi-Fi 8:開(kāi)啟極高可靠性 (UHR) 連接的新紀(jì)元——1
英國(guó)作家狄更斯在《雙城記》的開(kāi)頭寫(xiě)道:“這是最好的時(shí)代,也是最壞的時(shí)代?!?這句話若套用在現(xiàn)今Wi-Fi 的市場(chǎng)現(xiàn)狀,何嘗不是驚人的相似?
怎么說(shuō)呢?Wi-Fi 從被發(fā)明至今已經(jīng)經(jīng)過(guò)了20多年的迭代
發(fā)表于 06-13 11:09
基于 Wi-Fi 的定位服務(wù)
以下捕獲使用 location_wifi_get 函數(shù)請(qǐng)求 Wi-Fi 定位服務(wù)。該事件的總功耗為 125.85mC,日志顯示精確度為 30.0m。
Got location:
method
發(fā)表于 04-17 15:16
nRF Cloud Wi-Fi 定位服務(wù)
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過(guò)利用 nRF Cloud 的優(yōu)化定位算法,基于 Nordic SoC 和 模組的產(chǎn)品可在定位用例
發(fā)表于 04-17 15:07
Wi-Fi 定位服務(wù)
定位服務(wù)提供商維護(hù)。
通過(guò)查找數(shù)據(jù)庫(kù)中的匹配模式并計(jì)算信號(hào)強(qiáng)度來(lái)估計(jì)位置的算法。
當(dāng)設(shè)備查詢定位服務(wù)時(shí),它會(huì)提供它能看到的所有 Wi-Fi 網(wǎng)絡(luò)的數(shù)據(jù)。該服務(wù)會(huì)在其數(shù)據(jù)庫(kù)中查找這些網(wǎng)絡(luò),找到相關(guān)位置,并根據(jù)相似性和信號(hào)強(qiáng)度估算設(shè)備的位置。
————————————————
發(fā)表于 04-17 15:01
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】小白寫(xiě)個(gè)入門(mén)程序——按鍵控制LED燈的亮滅(查詢方式)
評(píng)論