梅科尔工作室-14.1 原创

燃新梨。
发布于 2022-7-25 10:48
浏览
0收藏

直播学习记录

梅科尔工作室-14.1-鸿蒙开发者社区
梅科尔工作室-14.1-鸿蒙开发者社区
梅科尔工作室-14.1-鸿蒙开发者社区
梅科尔工作室-14.1-鸿蒙开发者社区
梅科尔工作室-14.1-鸿蒙开发者社区

鸿蒙开发环境搭建

Linux编译服务器:Ubuntu16.04及以上64位系统版本,Shell使用bash
Windows工作台: Windows XP/Windows7/Windows10
梅科尔工作室-14.1-鸿蒙开发者社区
1)从镜像站点下载压缩文件
https://repo.huaweicloud.com/harmonde-1.0.tar.gz
2)从HPM网站组件
HPM网站: https://hpm.harmonyos.com/# /cn/home
软环境要求: Linux服务器安装12.13.0+的Node.js
3)用包管理器命令行
hpm init -t default
hpm install @bearpi/bearpi_hm_nano
需要先注册gitee账号,并配置邮箱
源码链接:https://gitee.com/bearpi/bearpi-hm nano

Part.1

添加点亮LED源码文件

1、新增my_led文件夹
在./applications/BearPi/BearPi-HM_Nano/sample路径下新建一个my_led目录,用于存放业务源码文件。

2、新增led_example.c文件
在./applications/BearPi/BearPi-HM_Nano/sample/my_led路径下新建一个led_example.c文件,该文件为业
务源码文件。

3、新增BUILD.gn文件
在./applications/BearPi/BearPi-HM_Nano/sample/my_led路径下新建一个BUILD.gn文件,该文件为业务源码编
译脚本。

#include <stdio.h>
#include <unistd.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的复用功能为普通GPIO
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2, WIFI_IOT_GPIO_DIR_OUT);//设置GPIO_2为输出模式
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);//设置GPIO_2输出高电平点亮LED灯
}
APP_FEATURE_INIT(Led_Sample);

编写业务编译构建文件BUILD.gn

在./applications/BearPi/BearPi-HM_Nano/sample/my_led下的BUILD.gn文件中添加如下代码。

static_library("myled") {
sources = [
"led_example.c"
]
include_dirs = [
"//utils/native/lite/include",
"//base/iot_hardware/interfaces/kits/wifiiot_lite"
]
}

在./applications/BearPi/BearPi-HM_Nano/sample下的BUILD.gn文件中添加如下代码。

import("//build/lite/config/component/lite_component.gni")
lite_component("app") {
features = [
"my_led:myled",
]
}

调试LED程序

#include "ohos_init.h"
#include "unistd.h"
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
void led_example(void)
{
GpioInit();
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_IO_FUNC_GPIO_2_GPIO);
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_2,WIFI_IOT_GPIO_DIR_OUT);
for(int i = 0; i < 10; i++)
{
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);
usleep(1000000);
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,0);
usleep(1000000);
}
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_2,1);
}
APP_FEATURE_INIT(led_example);

Part.2

Ninja

(忍者???从名字就感觉到了神奇的速度→_→)
梅科尔工作室-14.1-鸿蒙开发者社区

如何编译模块

梅科尔工作室-14.1-鸿蒙开发者社区

代码如何执行

梅科尔工作室-14.1-鸿蒙开发者社区

Part.3

CMSIS-RTOS2接口简介

了解即可
梅科尔工作室-14.1-鸿蒙开发者社区

鸿蒙与CMSIS-RTOS2接口联系

梅科尔工作室-14.1-鸿蒙开发者社区
更多API参考

编译结果

梅科尔工作室-14.1-鸿蒙开发者社区

梅科尔工作室-14.1-鸿蒙开发者社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复