电子产业一站式赋能平台

PCB联盟网

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

【HarmonyOS开发板试用】IOT板子LED闪烁

[复制链接]

2607

主题

2607

帖子

7472

积分

高级会员

Rank: 5Rank: 5

积分
7472
发表于 2021-1-25 09:56:07 | 显示全部楼层 |阅读模式
【HarmonyOS开发板试用】IOT板子LED闪烁,   
本帖最后由 PCB62304753 于 2021-1-24 21:31 编辑



这周试一下GPIO控制

首先在./applications/sample/wifi-iot/app下新建一个目录,路径文件结构如下。

QQ截图20210124205847.png (7.47 KB, 下载次数: 0)

下载附件  保存到相册  

昨天 21:23 上传

然后是app/my_LED/my_led.c文件 创建一个任务500ms翻转一下LED

  • #include <stdio.h>
      

  •   
  • #include <unistd.h>
      

  •   
  • #include “ohos_init.h“
      
  • #include “cmsis_os2.h“
      
  • #include “wifiiot_gpio.h“
      
  • #include “wifiiot_gpio_ex.h“
      

  •   
  • #define LED_GPIO WIFI_IOT_IO_NAME_GPIO_9
      

  •   
  • #define LED_TASK_STACK_SIZE 512 //任务堆栈
      
  • #define LED_TASK_PRIO 25        //任务优先级
      

  •   
  • static void *LedTask(const char *arg)
      
  • {
      
  •     (void)arg;
      
  •     for(;;) {
      
  •         GpioSetOutputVal(LED_GPIO, 0);
      
  •         usleep(500*1000); //延时500ms
      
  •         GpioSetOutputVal(LED_GPIO, 1);
      
  •         usleep(500*1000);
      
  •     }
      

  •   
  •     return NULL;
      
  • }
      

  •   
  • static void myLedEntry(void)
      
  • {
      
  •     osThreadAttr_t attr;
      

  •   
  •     GpioInit(); //初始化io模块
      
  •     IoSetFunc(LED_GPIO, WIFI_IOT_IO_FUNC_GPIO_9_GPIO); //配置GPIO9为GPIO模式
      
  •     GpioSetDir(LED_GPIO, WIFI_IOT_GPIO_DIR_OUT);       //配置GPIO9为输出
      

  •   
  •     attr.name = “LedTask“;
      
  •     attr.attr_bits = 0U;
      
  •     attr.cb_mem = NULL;
      
  •     attr.cb_size = 0U;
      
  •     attr.stack_mem = NULL;
      
  •     attr.stack_size = LED_TASK_STACK_SIZE;
      
  •     attr.priority = LED_TASK_PRIO;
      

  •   
  •     if (osThreadNew((osThreadFunc_t)LedTask, NULL, &attr) == NULL) {
      
  •         printf(“[my_led] Falied to create LedTask!\n“);  //创建任务失败后打印
      
  •     }
      
  • }
      

  •   
  • SYS_RUN(myLedEntry);

复制代码

app/my_led.c/BUILD.gn文件

  • static_library(“my_led“) {
      
  •     sources = [
      
  •         “my_led.c“
      
  •     ]
      

  •   
  •     include_dirs = [
      
  •         “//utils/native/lite/include“,
      
  •         “//kernel/liteos_m/components/cmsis/2.0“,
      
  •         “//base/iot_hardware/inteRFaces/kits/wifiiot_lite“,
      
  •     ]
      
  • }

复制代码

app/BUILD.gn 文件

  • import(“//build/lite/config/component/lite_component.gni“)
      

  •   
  • lite_component(“app“) {
      
  •     features = [
      
  •         “my_led:my_led“,
      
  •     ]
      
  • }

复制代码

最后下载到板子上,效果如下。



VID_20210123_232729.gif (1.22 MB, 下载次数: 0)

下载附件  保存到相册  

昨天 21:24 上传
回复

使用道具 举报

发表回复

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

本版积分规则


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