鸿蒙iot开发,鸿蒙3. WiFi IoT Helloworld 及基本开发框架介绍

1.目录结构规划

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

.

└──applications

└──sample

└──wifi-iot

└──app

│──hello_world

││──hello_world.c

│└──BUILD.gn

└──BUILD.gn

2. hello_world.c 源码

/*

业务代码的架构

1.任务处理函数HelloWorld_Task,实现业务初始化,并在while(1)中实现循环处理的业务

2.任务入口函数HelloWorld_Entry:实现任务的初始化,并注册任务处理函数

3.调用鸿蒙SYS_RUN(HelloWorld_Entry);实现业务的注册

*/

#include

#include

#include"ohos_init.h"

#include"cmsis_os2.h"

/*1.任务函数:hello_world任务*/

staticvoid*HelloWorld_Task(constchar*arg)

{

(void)arg;

printf("[HelloWorld]HelloWorld_Task()\n");

while(1)

{

//logiccodefortask

usleep(500000);//us延时

}

returnNULL;

}

/*2.任务入口函数:实现任务的初始化*/

staticvoidHelloWorld_Entry(void)

{

osThreadAttr_tattr={0};

printf("[HelloWorld]HelloWorld_Entry()\n");

attr.name="HelloWorld_Task";

attr.attr_bits=0U;

attr.cb_mem=NULL;

attr.cb_size=0U;

attr.stack_mem=NULL;

attr.stack_size=1024;

attr.priority=osPriorityNormal;

if(osThreadNew((osThreadFunc_t)HelloWorld_Task,NULL,&attr)==NULL)

{

printf("[HelloWorld]FaliedtocreateLedTask!\n");

}

}

SYS_RUN(HelloWorld_Entry);

3. 业务代码的编译脚本 BUILD.gn

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

static_library("hello_world_app"){

sources=[

"hello_world.c"

]

include_dirs=[

"//utils/native/lite/include",

"//kernel/liteos_m/components/cmsis/2.0",

"//base/iot_hardware/interfaces/kits/wifiiot_lite",

]

}

4.模块的编译脚本BUILD.gn

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

import("//build/lite/config/component/lite_component.gni")

lite_component("app"){

features=[

"startup",

"hello_world:hello_world_app",

]

}

5.执行结果:

7600544f46bbbdfb00682e06cad9bf79.png

6.总结

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值