本文來源電子發燒友社區,作者:小水滴1016, 帖子地址:https://bbs.elecfans.com/jishu_2008655_1_1.html
弄了半天,VSCode中還是識別不了串口,只好放棄,采用Ubuntu中編譯,Windows中使用HiBurn來燒寫。
拿到開發板通常第一件事兒都是寫個helloWorld的程序,點個燈
我也不例外,搞了個跑馬燈。
代碼如下:
led_demo.c
復制代碼
led_demo文件夾中
BIULD.gn
復制代碼
同時,也要將app文件夾中的編譯腳本文件BUILD.gn修改一下,在features中添加以下內容:
"led_demo:led_demo",
復制代碼
添加完之后,返回CODE-1.0目錄,在終端中輸入以下命令:python build.py wifiiot
編譯即可;
然后,返回Windows,用hiburn燒錄即可。
第三篇完結,下一步,OLED,未完待續……
`
弄了半天,VSCode中還是識別不了串口,只好放棄,采用Ubuntu中編譯,Windows中使用HiBurn來燒寫。
拿到開發板通常第一件事兒都是寫個helloWorld的程序,點個燈
我也不例外,搞了個跑馬燈。
代碼如下:
led_demo.c
- #include
- #include
- #include "ohos_init.h"
- #include "cmsis_os2.h"
- #include "wifiiot_gpio.h"
- #include "wifiiot_gpio_ex.h"
- #define LED_TASK_STACK_SIZE 512
- #define LED_TASK_PRIO 25
- enum LedState {
- LED_ON = 0,
- LED_OFF,
- LED_SPARK,
- };
- static void *LedTask(const char *arg)
- {
- (void)arg;
- while (1) {
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 1);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 0);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 0);
- usleep(300000);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 0);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 0);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 1);
- usleep(300000);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_10, 0);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_11, 1);
- GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_12, 0);
- usleep(300000);
- }
- return NULL;
- }
- static void led_demo(void)
- {
- osThreadAttr_t attr;
- GpioInit();
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_IO_FUNC_GPIO_10_GPIO);
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_IO_FUNC_GPIO_11_GPIO);
- IoSetFunc(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_IO_FUNC_GPIO_12_GPIO);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_10, WIFI_IOT_GPIO_DIR_OUT);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_11, WIFI_IOT_GPIO_DIR_OUT);
- GpioSetDir(WIFI_IOT_IO_NAME_GPIO_12, WIFI_IOT_GPIO_DIR_OUT);
- attr.name = "LedTask";
- attr.attr_bits = 0U;
- attr.cb_mem = NULL;
- attr.cb_size = 0U;
- attr.stack_mem = NULL;
- attr.stack_size = LED_TASK_STACK_SIZE;
- attr.priority = LED_TASK_PRIO;
- if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
- printf("[LedExample] Falied to create LedTask!
- ");
- }
- }
- SYS_RUN(led_demo);
BIULD.gn
- # Copyright (c) 2020 Huawei Device Co., Ltd.
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- static_library("led_demo") {
- sources = [
- "led_demo.c"
- ]
- include_dirs = [
- "http://utils/native/lite/include",
- "http://kernel/liteos_m/components/cmsis/2.0",
- "http://base/iot_hardware/interfaces/kits/wifiiot_lite",
- ]
- }
"led_demo:led_demo",
- # Copyright (c) 2020 Huawei Device Co., Ltd.
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- import("http://build/lite/config/component/lite_component.gni")
- lite_component("app") {
- features = [
- "startup",
- "led_demo:led_demo",
- ]
- }
編譯即可;
然后,返回Windows,用hiburn燒錄即可。
第三篇完結,下一步,OLED,未完待續……
`
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
wi-fi
+關注
關注
15文章
2424瀏覽量
129558 -
HarmonyOS
+關注
關注
80文章
2153瀏覽量
36053 -
HiSpark
+關注
關注
1文章
156瀏覽量
7757
發布評論請先 登錄
相關推薦
熱點推薦
技術資訊 I Wi-Fi 模塊設計
本文要點Wi-Fi模塊設計旨在打造一套緊湊且高效的硬件和軟件解決方案,使設備能夠通過Wi-Fi網絡實現通信。Wi-Fi模塊設計是一個復雜的過程,要求研發人員兼具硬件與軟件工程方面的專業知識
Wi-Fi:無線連接的全球通用語
Wi-Fi 6(802.11ax)及未來的Wi-Fi 7,性能、效率與安全性不斷提升。 三、關鍵技術詞解析l IEEE 802.11:Wi-Fi技術的底層標準,由電氣電子工程師協會制定
發表于 01-07 09:49
Nordic發布nRF7002 EBII 開發板, 支持Wi-Fi 6, 解鎖nRF54L新玩法
了 Wi-Fi 6 功能,幫助開發人員創建高性能、高能效的Wi-Fi 6 物聯網解決方案。
基于 Nordic 的 nRF7002 Wi-Fi 協同 IC,nRF7002 EBII幫助 采用
發表于 12-10 11:58
Wi-Fi模塊選型指南 | 低功耗藍牙/Wi-Fi 6模塊推薦 | 物聯網設備集成攻略
物聯網的快速發展,Wi-Fi技術的成熟的情況下,越來越多的場景需要用到Wi-Fi來無線傳輸數據,尤其是移動設備中,怎么再設備中選擇合適的Wi-Fi模塊呢?下面我們來介紹下Wi-Fi模塊
淺談Wi-Fi 6E與Wi-Fi 7的關鍵器件——BAW濾波器新技術
,美國聯邦通信委員會(FCC)投票通過將6GHz頻譜劃為免許可頻段供Wi-Fi使用,這標志著Wi-Fi正式進入“三頻”時代——除Wi-Fi 6及前代技術使用的2.4GHz和5GHz頻段
發表于 09-19 18:29
?2128次閱讀
LitePoint Wi-Fi測試軟件減輕客戶設計負擔
自Wi-Fi 7于一年多前獲得Wi-Fi聯盟認證以來,作為最新一代通信技術,Wi-Fi正逐步成為用戶實現無所不在無線連接的新選擇。隨著每一代Wi-Fi信號復雜性的提升,建議將硬件測試納
Wi-Fi FEM價格戰,真的不可避免嗎?
的發展,三伍微電子已經形成三大產品線:? 1、路由器Wi-Fi FEM(包含2.4G 射頻PA系列和5.8G/6G射頻PA系列) 2、手機Wi-Fi FEM 3、IoT FEM 路由器
Wi-Fi 8:開啟極高可靠性 (UHR) 連接的新紀元——1
。2021年,Wi-Fi 6E 橫空出世,憑借6GHz 頻帶的獨特優勢,使Wi-Fi 正式邁入真三頻 (Real Tri-Band) 共存的通信技術時代。2024年,科學家們再次憑借著4096QAM
發表于 06-13 11:09
華為加速Wi-Fi 7技術在行業場景的應用
華為數據通信創新峰會2025期間,華為面向中東中亞地區舉辦第三季“Imagine Wi-Fi 7 to Reality”創新應用大賽頒獎典禮,9位參賽者憑借Wi-Fi 7的應用創新成果脫穎而出并獲獎。會上,華為同步發布第四季賽事
Wi-Fi HaLow如何突破傳統Wi-Fi性能瓶頸?
視頻推薦在萬物互聯的時代,傳統Wi-Fi在覆蓋范圍、功耗、連接數上漸顯不足。而Wi-FiHaLow的誕生,正在用黑科技打破傳統Wi-Fi的性能瓶頸!今天,我們一起來探究Wi-FiHaL
基于 Wi-Fi 的定位服務
定位服務有三種精度模式:低精度、正常精度和高精度。精度越高,設備的耗電量就越大,但根據經驗,我們知道所有精度模式的耗電量都高于 Wi-Fi 和蜂窩定位服務。在 GNSS 定位服務測量中,我們預計即使
發表于 04-17 15:16
nRF Cloud Wi-Fi 定位服務
、Predictive-GPS、Single-Cell、Multi-Cell 和 Wi-Fi 定位。通過利用 nRF Cloud 的優化定位算法,基于 Nordic SoC 和 模組的產品可在定位用例
發表于 04-17 15:07
Wi-Fi 定位服務
Wi-Fi 是一種著名的無線網絡技術,用于設備的局域網和互聯網接入。Wi-Fi 通過 Wi-Fi 網絡為家庭、辦公室和學校等環境提供便捷的無線互聯網接入服務。
Wi-Fi 定位是一種
發表于 04-17 15:01
推出了期待已久的 nRF7002 低功耗Wi-Fi 6
。Matter是蘋果、亞馬遜、谷歌、Nordic、三星和消費者物聯網中數百家其他公司倡導的協議。
2022 年 8 月,我們宣布進入 Wi-Fi 無線物聯網市場,推出了期待已久的 nRF7002
發表于 03-26 11:00
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】第三篇 跑馬燈
評論