回复
梅科尔工作室OpenHarmony设备开发培训笔记-第2章学习笔记 原创
wx62f2888df272b
发布于 2022-8-10 00:58
浏览
0收藏
@[toc]
Hello_World
添加 Hello_World 源码文件
- 打开 vscode 添加源码文件夹 :code1
- 发现报错
- 解决:打开 RaiDrive 将设置的只读勾去掉
- 在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个目录(或一套目录结构),用于存放业务源码文件。例如:在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个 my_app 目录,然后在 my_app 下添加两个文件
写 Hello_World 业务代码
-
#include <stdio.h> //prinf头文件 #include "ohos_init.h" //调用APP_FEATURE_INIT(Hello_World)来启动Hello_World命令 void Hello_World(void) { printf("Hello World!/r/n"); } APP_FEATURE_INIT(Hello_World);
编写用于将业务构建成静态库的BUILD.gn文件
- 在 .applications\BearPi\BearPi-HM_Nano\sample\my_app\BULD.gn 中添加如下代码
static_library("myapp") { sources = [ "hello_world.c" ] include_dirs = [ "//utils/native/liteos/include" ] }
- static_library中指定业务模块的编译结果,把 “hello_world.c” 文件编译为静态库文件libmyapp.a。
- sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//"则表示相对路径。
- include_dirs中指定source所需要依赖的.h文件路径
编写模块BUILD.gn文件,指定需参与构建的特性模块。
- 配置./applications/BearPi/BearPi-HM_Nano/sample/BUILD.gn文件,在features字段中增加索引"my_app:myapp",使目标模块参与编译。并屏蔽其他模块。
- 编译
- 编译成功
- 编译成功
点亮 LED
编写点亮 LED
- 添加源码文件
- 在 ./applications/BearPi/BearPi-HM_Nano/sample 路径下新建一个 my_led 目录,用于存放业务源码文件
- 在 ./applications/BearPi/BearPi-HM_Nano/sample/my_led 路径下新建一个 led_example.c 文件,该文件为业务源码文件
- 在 ./applications/BearPi/BearPi-HM_Nano/sample/my_app 路径下新建 BUILD.gn 文件,该文件为业务源码编译脚本
- 编写业务代码
-
#include "ohos_init.h" //调用APP_FEATURE_INIT(Hello_World)来启动Hello_World命令 #include "wifiiot_gpio.h" #include "wifiiot_gpio_ex.h" void led_example(void) // 点亮 led 业务代码 { gpio,GpioInit(); //初始化 gpio,GpioInit 函数 IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO); //设置 gpio 管脚功能:普通 gpio,接在芯片上的管脚号 GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IO_GPIO_DIR_OUT); //gpio 模式为输出模式 GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1); } APP_FEATURE_INIT(led_example);
-
- 编写编译构建文件BUILD.gn
-
static_library("myled") { sources = [ "led_example.c" ] include_dirs = [ "//utils/native/liteos/include", "//base/iot_hardware/interfaces/kits/wifiiot_lite" //添加"wifiiot_gpio.h"、"wifiiot_gpio_ex.h"路径 ] }
-
- 编写模块BUILD.gn文件,指定需参与构建的特性模块
编译烧录点亮 LED
- 报错:
- 解决:多写了一句话,导致代码错误
- 已解决:
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
赞
收藏
回复
相关推荐