电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1106|回复: 0
收起左侧

【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】GPIO操作之LED灯闪烁

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2021-1-13 23:56:11 | 显示全部楼层 |阅读模式
【HarmonyOS HiSpark Wi-Fi IoT 套件试用连载】GPIO操作之LED灯闪烁,   
Hi3861开发板上的LED翻转 hi3861开发板上有自带一个LED灯,这一次来简单操作hi3861开发板的GPIO口,从而控制LED灯闪烁。 从开发板原理图可知,LED灯连接的是GPIO_9,所以只需要操作GPIO_9的电平高低就可以操作LED灯的亮灭状态。 明确整个过程需要做什么了,那么就开始新建项目。 首先在app目录下新建led文件夹,然后在led文件夹下新建BUILD.gn文件,内容如下
  static_library(“led“) {
  sources = [ “led.c“ ]
  include_dirs = [
  “//utils/native/lite/include“,
  “//kernel/liteos_m/kal“,
  “//base/iot_hardware/inteRFaces/kits/wifiiot_lite“,
[/quote]
[quote]
  }
然后再新建led.c文件,添加以下代码:
  #include <stdio.h>
  #include <unistd.h>
  #include “ohos_init.h“
  #include “cmsis_os2.h“
  #include “wifiiot_gpio.h“
  #include “wifiiot_gpio_ex.h“
  // LED灯任务处理,在此函数内循环点亮和熄灭LED灯
  static void *LedTask(const char *arg)
  {
  (void)arg;
  while (1) {
     GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0); // LED_ON
     usleep(300*1000);
     GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1); // LED_OFF
     usleep(300*1000);
  }
  return NULL;
  }
  static void Demo_Led(void)
  {
  osThreadAttr_t attr;
  // 初始化LED,连接的是GPIO9
  GpioInit();
  IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);
  GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);
  attr.name = “LedTask“;
  attr.attr_bits = 0U;
  attr.cb_mem = NULL;
  attr.cb_size = 0U;
  attr.stack_mem = NULL;
  attr.stack_size = 512U;
  attr.priority = osPriorityNormal; // 任务优先级为常规级别
  // 新建LED任务
  if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
     printf(“[Demo Led] create LedTask Failed!\r\n“);
  }
  }
  SYS_RUN(Demo_Led);`
最后一步是修改app目录下的BUILD.gn文件,让它默认执行led项目(文件夹)下的内容。
  import(“//build/lite/config/component/lite_component.gni“)
  lite_component(“app“) {
  features = [
     “led:led“,
[/quote]
[quote]
  }
修改完代码后,就输入python3 build.py wifiiot开始编译,然后通过HiBurn软件烧录到Hi3861开发板上。 实验现象:Hi3861开发板上自带的LED灯每300毫秒闪烁一次。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表