温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Helloworld及基本开发框架

发布时间:2021-10-25 10:39:00 来源:亿速云 阅读:175 作者:iii 栏目:开发技术

本篇内容主要讲解“如何使用Helloworld及基本开发框架”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用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 <stdio.h> #include <unistd.h> #include "ohos_init.h" #include "cmsis_os2.h"  /*1. 任务函数:hello_world任务*/ static void* HelloWorld_Task(const char* arg) {     (void)arg;     printf("[HelloWorld] HelloWorld_Task()\n");      while(1)     {         //logic code for task         usleep(500000);//us延时     }       return NULL; }  /*2.任务入口函数:实现任务的初始化*/ static void HelloWorld_Entry(void) {     osThreadAttr_t attr = {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] Falied to create LedTask!\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.执行结果:

如何使用Helloworld及基本开发框架

6.总结

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

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

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

到此,相信大家对“如何使用Helloworld及基本开发框架”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI