文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

鸿蒙3. WiFi IoT智能家居套件 - Helloworld及基本开发框架

2024-12-03 17:58

关注

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/

 参考官方教程:Hi3861开发板第一个示例程序

1.目录结构规划

在app下新增业务hello_world,其中hello_world.c为业务代码,BUILD.gn为编译脚本,具体规划目录结构如下:

  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.  
  3. #include  
  4. #include  
  5. #include "ohos_init.h" 
  6. #include "cmsis_os2.h" 
  7.  
  8.  
  9. static void* HelloWorld_Task(const char* arg) 
  10.     (void)arg; 
  11.     printf("[HelloWorld] HelloWorld_Task()\n"); 
  12.  
  13.     while(1) 
  14.     { 
  15.         //logic code for task 
  16.         usleep(500000);//us延时 
  17.     } 
  18.   
  19.     return NULL
  20.  
  21.  
  22. static void HelloWorld_Entry(void) 
  23.     osThreadAttr_t attr = {0}; 
  24.  
  25.     printf("[HelloWorld] HelloWorld_Entry()\n"); 
  26.  
  27.     attr.name = "HelloWorld_Task"
  28.     attr.attr_bits = 0U; 
  29.     attr.cb_mem = NULL
  30.     attr.cb_size = 0U; 
  31.     attr.stack_mem = NULL
  32.     attr.stack_size = 1024; 
  33.     attr.priority = osPriorityNormal; 
  34.  
  35.     if (osThreadNew((osThreadFunc_t)HelloWorld_Task, NULL, &attr) == NULL
  36.     { 
  37.         printf("[HelloWorld] Falied to create LedTask!\n"); 
  38.     } 
  39.  
  40. SYS_RUN(HelloWorld_Entry); 

3. 业务代码的编译脚本 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.执行结果:

 

6.总结

注意业务代码的项目路径,一定是在code\applications\sample\wifi-iot\app\目录下,按照业务进行新建文件夹

一个业务,可以理解为一个任务或者一个线程,比如OLED液晶显示可以单独做为一个业务,流水灯可以单独作为一个业务。

后续代码,简单的功能会继续在hello_world业务上进行添加,比如LED流水灯、按键中断灯,复杂的功能(比如WIFI,OLED显示)会重新起一个新的业务。

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com/

 

来源:鸿蒙社区内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯