回复
梅科尔工作室OpenHarmony设备开发培训笔记-第二章学习笔记 原创
梅科尔陈新杰
发布于 2022-8-8 16:22
浏览
1收藏
@toc
案例实现——Hello World
-
在app下新建my_first_app,在其下新建hello_world.c为业务代码,BUILD.gn为编译脚本
-
打开hello_world.c文件,写入如下代码:
#include <stdio.h>
#include "ohos_init.h"
void Hello_World(void)
{
printf("Hello World!\r\n"); //打印输出
}
APP_FEATURE_INIT(Hello_World); //启动程序,函数名
3. 打开sample下的BUILD.gn文件,添加如下代码:
static_library("myapp") { #指定业务模块的编译结果为静态库文件libmyapp.a
sources = [ #指出编译所需的.c文件
"hello_world.c"
]
include_dirs = [
"//utils/native/liteos/include" #声明.h库文件来源
]
}
注意
static_library中指定业务模块的编译结果,为静态库文件libmyapp.a,开发者根据实际情况完成填写。
sources中指定静态库.a所依赖的.c文件及其路径,若路径中包含"//“则表示绝对路径(此处为代码根路径),若不包含”//“则表示相对路径。
include_dirs中指定source所需要依赖的.h文件路径。
4. 在sample下的BUILD.gn文件里添加"my_app:myapp”
记得最后Ctrl+s保存三个文件
5. 然后打开MobaXterm找到对应文件,依次输入ls、hpm dist编译代码,等待1-3分钟
-
打开HiBurn,在左上角setting=>Com setting中设置波特率为921600,找打对应文件,勾选Auto burn ,点击connect,按下开发板复位按钮
-
找到对应串口,摁下开发板复位按键,可以看到面板上打印出“Hello World”字样
点亮LED
在app下新建my_led文件夹,在其下新建led_example.c文件为业务代码,新增BUILD.gn为编译脚本
led_example.c
#include <stdio.h>
#include<unisted.h>
#include"ohos_init.h"
#include "wifiiot_gpio.h"
#include"wifiiot_gpio_ex.h"
void Led_Sample(void)
{
GpioInit();//初始化GPIO
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO);//设置GPIO_2的复用功能为普通 GPIOGpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT);//设置GPIO_2为输出模式
GpioSetOutputVa1(WIFI_IOT_IO_NAME_GPIO_2,1);//设置GPIO_2输出高电平点亮LED灯
}
APP_FEATURE_INIT(Led_Sample);
BUILD.gn代码
static_library("myled"){
sources =[
"led_example.c”
include_dirs=[
"//utils/native/lite/include",
"//base/iot_hardware/interfaces/kits/wifiiot_lite"
]
}
编写sample下的BUILD.gn文件
import("//build/lite/config/component/lite_component.gni")
lite_component("app"){
features=[
"my_led:myled”,
]
}
添加闪烁源码
烧录参见“hello world”
编译框架介绍
Ninja编译工具简介
如何编译模块
代码如何执行
CMSIS接口简介
什么是CMSIS-RTOS2接口
OpenHarmony与CMSIS-RTOS2接口联系
如何使用CMSIS-RTOS2接口
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
赞
1
收藏 1
回复
相关推荐