自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

鴻蒙3. WiFi IoT智能家居套件 - Helloworld及基本開發(fā)框架

開發(fā) 架構(gòu)
文章由鴻蒙社區(qū)產(chǎn)出,想要了解更多內(nèi)容請前往:51CTO和華為官方戰(zhàn)略合作共建的鴻蒙技術(shù)社區(qū)https://harmonyos.51cto.com/#zz

[[351420]]

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 參考官方教程:Hi3861開發(fā)板第一個示例程序

1.目錄結(jié)構(gòu)規(guī)劃

在app下新增業(yè)務(wù)hello_world,其中hello_world.c為業(yè)務(wù)代碼,BUILD.gn為編譯腳本,具體規(guī)劃目錄結(jié)構(gòu)如下:

  1. └── applications 
  2.     └── sample 
  3.         └── wifi-iot 
  4.             └── app 
  5.                 │── hello_world 
  6.                 │  │── hello_world.c 
  7.                 │  └── BUILD.gn 
  8.                 └── BUILD.gn 

2. hello_world.c 源碼 

  1. /* 
  2. 業(yè)務(wù)代碼的架構(gòu) 
  3. 1.任務(wù)處理函數(shù)HelloWorld_Task,實現(xiàn)業(yè)務(wù)初始化,并在while(1)中實現(xiàn)循環(huán)處理的業(yè)務(wù) 
  4. 2.任務(wù)入口函數(shù)HelloWorld_Entry:實現(xiàn)任務(wù)的初始化,并注冊任務(wù)處理函數(shù) 
  5. 3.調(diào)用鴻蒙SYS_RUN(HelloWorld_Entry); 實現(xiàn)業(yè)務(wù)的注冊 
  6. */ 
  7.  
  8. #include <stdio.h> 
  9. #include <unistd.h> 
  10. #include "ohos_init.h" 
  11. #include "cmsis_os2.h" 
  12.  
  13. /*1. 任務(wù)函數(shù):hello_world任務(wù)*/ 
  14. static void* HelloWorld_Task(const char* arg) 
  15.     (void)arg; 
  16.     printf("[HelloWorld] HelloWorld_Task()\n"); 
  17.  
  18.     while(1) 
  19.     { 
  20.         //logic code for task 
  21.         usleep(500000);//us延時 
  22.     } 
  23.   
  24.     return NULL
  25.  
  26. /*2.任務(wù)入口函數(shù):實現(xiàn)任務(wù)的初始化*/ 
  27. static void HelloWorld_Entry(void) 
  28.     osThreadAttr_t attr = {0}; 
  29.  
  30.     printf("[HelloWorld] HelloWorld_Entry()\n"); 
  31.  
  32.     attr.name = "HelloWorld_Task"
  33.     attr.attr_bits = 0U; 
  34.     attr.cb_mem = NULL
  35.     attr.cb_size = 0U; 
  36.     attr.stack_mem = NULL
  37.     attr.stack_size = 1024; 
  38.     attr.priority = osPriorityNormal; 
  39.  
  40.     if (osThreadNew((osThreadFunc_t)HelloWorld_Task, NULL, &attr) == NULL
  41.     { 
  42.         printf("[HelloWorld] Falied to create LedTask!\n"); 
  43.     } 
  44.  
  45. SYS_RUN(HelloWorld_Entry); 

3. 業(yè)務(wù)代碼的編譯腳本 BUILD.gn

路徑:code\applications\sample\wifi-iot\app\hello_world\BUILD.gn 

  1. static_library("hello_world_app") { 
  2.     sources = [ 
  3.         "hello_world.c" 
  4.     ] 
  5.  
  6.     include_dirs = [ 
  7.         "//utils/native/lite/include"
  8.         "//kernel/liteos_m/components/cmsis/2.0"
  9.         "//base/iot_hardware/interfaces/kits/wifiiot_lite"
  10.     ] 

4.模塊的編譯腳本BUILD.gn

路徑:code\applications\sample\wifi-iot\app\BUILD.gn 

  1. import("//build/lite/config/component/lite_component.gni"
  2.  
  3. lite_component("app") { 
  4.     features = [ 
  5.         "startup"
  6.         "hello_world:hello_world_app"
  7.     ] 

5.執(zhí)行結(jié)果:

 

6.總結(jié)

注意業(yè)務(wù)代碼的項目路徑,一定是在code\applications\sample\wifi-iot\app\目錄下,按照業(yè)務(wù)進行新建文件夾

一個業(yè)務(wù),可以理解為一個任務(wù)或者一個線程,比如OLED液晶顯示可以單獨做為一個業(yè)務(wù),流水燈可以單獨作為一個業(yè)務(wù)。

后續(xù)代碼,簡單的功能會繼續(xù)在hello_world業(yè)務(wù)上進行添加,比如LED流水燈、按鍵中斷燈,復(fù)雜的功能(比如WIFI,OLED顯示)會重新起一個新的業(yè)務(wù)。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2020-11-13 11:53:52

4.WiFi IoT

2020-12-21 09:57:52

OLED溫濕度計hi3861

2020-11-23 13:09:42

HI3861

2015-08-26 10:14:28

2020-10-26 10:21:39

Wi-Fi IoT智能家居套件

2020-12-30 11:02:34

鴻蒙HarmonyOS智能家居

2021-03-09 09:56:42

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2020-11-24 10:05:54

人工智能

2020-11-04 13:20:14

HiSpark

2023-07-28 15:32:26

鴻蒙操作系統(tǒng)

2024-01-04 10:20:47

OpenAI人工智能物聯(lián)網(wǎng)

2019-12-24 19:31:27

智能家居物聯(lián)網(wǎng)技術(shù)

2015-10-15 10:32:48

WiFi物聯(lián)網(wǎng)智能家居

2014-07-15 09:50:08

WiFi聯(lián)網(wǎng)  

2023-08-07 15:13:09

設(shè)備開發(fā)鴻蒙

2020-12-18 11:54:43

物聯(lián)網(wǎng)安全智能家居IOT

2023-10-12 11:27:42

智能家居人工智能

2015-09-28 09:37:49

2022-07-01 10:28:24

智能家居網(wǎng)絡(luò)安全漏洞

2020-12-29 09:59:01

鴻蒙HarmonyOS智能家居
點贊
收藏

51CTO技術(shù)棧公眾號