ITPub博客

首页 > 数据库 > 数据库开发技术 > 初识openHarmony与esp32

初识openHarmony与esp32

数据库开发技术 作者:TechSpartan 时间:2022-11-13 12:10:11 0 删除 编辑

获取源码与下载

具体操作,参考Gitee的仓库,有文档介绍如何获取源码与编译和烧录。

新增demo

1、在vendor/openvalley/niobeu4/demo下创建新文件夹,命名102_hdf_led;

2、demo文件夹下面的Kconfig applications文件增加新项目配置;

    default "102_hdf_led" if NIOBEU4_APPLICATION_102LED

3、复制102_hdf_gpio下的config文件和build.gn文件到102_hdf_led,并修改;

4、新增led_blink.c文件,编写demo;

#include <stdio.h>
#include "gpio_types.h"
#include "gpio_if.h"
#include "cmsis_os2.h"
#include "hdf_log.h"
#include "ohos_run.h"

#define SYS_DELAY_TICKS 500
#define TASK_STACK_SIZE 4096
#define TASK_PRIO 25

#define OFF 0
#define ON 1

#define LED_PIN_INDEX 9

osThreadId_t g_taskID = NULL;

static void led_blink(void) {
osDelay(SYS_DELAY_TICKS * 2);
GpioSetDir(LED_PIN_INDEX, GPIO_DIR_OUT);
while (1)
{
GpioWrite(LED_PIN_INDEX, ON);
osDelay(SYS_DELAY_TICKS);
GpioWrite(LED_PIN_INDEX, OFF);
osDelay(SYS_DELAY_TICKS * 3);
}
}

static void led_task(void) {
HDF_LOGE("into gpio hdf example!\n");
osThreadAttr_t attr;
attr.name = "blink";
attr.attr_bits = 0U;
attr.cb_mem = NULL;
attr.cb_size = 0U;
attr.stack_mem = NULL;
attr.stack_size = TASK_STACK_SIZE;
attr.priority = TASK_PRIO;
g_taskID = osThreadNew((osThreadFunc_t)led_blink, NULL, &attr);
if (g_taskID == NULL) {
HDF_LOGE("Failed to create Test GPIO thread!\n");
}
}

OHOS_APP_RUN(led_task);

5、在device/board/openvalley/niobeu4/liteos_m/hdf_config/hdf.hcs增加新的GPIO定义

gpio_9 :: default_config { // TXD0
gpio_attr = ["GPIO_NUM_1", "GPIO_FLOATING", "GPIO_DRIVE_CAP_DEFAULT"];
}

编译

进入/home/ito/openharmony/niobeu4_src/kernel/liteos_m执行make menuconfig。选择(Top) → Platform → Board Selection → select board niobeu4 → use openvalley niobeu4 application → niobeu4 application choose,选择102_hdf_led,退出保存。

在项目根目录执行hb build编译

原文作者:;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    8
  • 访问量
    500