项目运行流程
创建项目
在源代码的sample目录下,新建文件夹(名字中不能出现数字),在该文件夹下新建C文件和BUILD.gn文件。
编写源代码
//该头文件导入了printf方法
#include <stdio.h>
//该头文件导入了APP_FEATURE_INIT方法
#include "ohos_init.h"
//创建test_one函数
void test_one(void)
{
printf("Hello World\r\n");
}
//运行test_one函数
APP_FEATURE_INIT(test_one);
配置两个BULID.gn文件
新建文件夹下
//static. library中指定业务模块的编译结果,为静态库文件lib*.a,*即static_library(“*”)
static_library("test2"){
//sources中 指定静态库.a所依赖的.c文件及其路径,若路径中包含//"则表示绝对路径(此处为代码根路 径),若不包含"//"则表示相对路径。
sources = [
"test.c"
]
//include. dis中指定source所需要依赖的.h文件路径。
include_dirs = [
"//utils/native/lite/include"
]
}
sample文件夹下
lite_component("app") {
features = [
//在此处写入新建文件夹名和静态库文件名
//例:"新建文件夹名:静态库文件名"
]
}
编译
在对应的代码存储文件夹下执行hpm dist,完成代码的编译
烧录
使用Hiburn工具,选择相应的端口和波特率,勾选Autoburn,
找到文件
点击connect,然后按下小熊派的复位按钮,等待再次出现connecting,完成烧录。
串口执行
在MobaXterm中选择串口,并选择相应的波特率和端口,按下小熊派复位键,可显示代码的运行效果。
点亮LED灯案例
//源文件(my_led.c)
#include "ohos_init.h"
//导入用于实现点亮LED灯的头文件
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
//该头文件用于导入usleep函数
//#include "unistd.h"
//创建
void led_example(void)
{
//初始化GPIO
GpioInit();
//设置GPIO的功能,第一个参数为GPIO的号码,第二个参数为该引脚的功能
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO);
//设置GPIO的方向,第一个参数为GPIO的号码,第二个参数指输入还是输出
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT);
//在for循环中实现LED灯亮一秒,熄灭一秒,循环五次
for(int i = 0;i < 10; i++)
{
//设置GPIO的电位为高电位
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);
//延时1s
usleep(1000000);
//设置GPIO的电位为低电位
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,0);
usleep(1000000);
}
}
//运行led_example函数
APP_FEATURE_INIT(led_example);
|