鸿蒙硬件HI3861点灯

鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/category_10520249.html

创建文件

BUILD.gn

static_library("mmled") {sources = ["mmled.c"]include_dirs = ["//domains/iot/link/ledlib","//base/iot_hardware/interfaces/kits/wifiiot_lite","//kernel/liteos_m/components/cmsis/2.0",]
}

mmled.c

#include "mmled.h"
#include <stdio.h>
#include <unistd.h>
#include "wifiiot_gpio.h"
#include "wifiiot_gpio_ex.h"
#include "cmsis_os2.h"// LED状态
enum LedState {LED_ON = 0,LED_OFF,LED_SPARK,
};enum LedState g_ledState = LED_SPARK;// LED初始化
void Led_Init(void){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);
}static void *LedBTask(const char *arg){(void)arg;while (1) {switch (g_ledState) {case LED_ON:GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);usleep(LED_INTERVAL_TIME_US);break;case LED_OFF:GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);usleep(LED_INTERVAL_TIME_US);break;case LED_SPARK:GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 0);usleep(LED_INTERVAL_TIME_US);GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);usleep(LED_INTERVAL_TIME_US);break;default:usleep(LED_INTERVAL_TIME_US);break;}}return NULL;
}// LED模块初始化线程
void Start_Led_Thread(void){osThreadAttr_t ledattr;ledattr.name = "LedTask";ledattr.attr_bits = 0U;ledattr.cb_mem = NULL;ledattr.cb_size = 0U;ledattr.stack_mem = NULL;ledattr.stack_size = LED_TASK_STACK_SIZE;ledattr.priority = LED_TASK_PRIO;if (osThreadNew((osThreadFunc_t)LedBTask, NULL, &ledattr) == NULL) {printf("[LedExample] Falied to create LedTask!\n");}
}

mmled.c

#ifndef MMLED_H
#define MMLED_H#define LED_INTERVAL_TIME_US 3000000
#define LED_TASK_STACK_SIZE 512
#define LED_TASK_PRIO 25/*** LED初始化*/
void Led_Init(void);void Start_Led_Thread(void);//static void *LedBTask(const char *arg);#endif

这些弄完之后需要修改code-1.0\applications\sample\wifi-iot\app\BUILD.gn把刚才的mmled添加进去进行

import("//build/lite/config/component/lite_component.gni")lite_component("app") {features = ["my_first_app:myapp","//domains/iot/link/ledlib:mmled"   ##  需要把mmled添加进去]
}

在\code-1.0\applications\sample\wifi-iot\app\my_first_app\BUILD.gn

static_library("myapp") {sources = ["hello_world.c"]include_dirs = ["//utils/native/lite/include","//domains/iot/link/ledlib",     ## 添加ledlib]
}

在\code-1.0\applications\sample\wifi-iot\app\my_first_app\hello_world.c

#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.h"
#include "mmled.h"void HelloWorld(void)
{printf("[DEMO] Hello world.\n");Led_Init();Start_Led_Thread();
}SYS_RUN(HelloWorld);

然后就OK了

如果在过程中遇到什么问题可以来联系我B站

https://space.bilibili.com/309103931

鸿蒙硬件HI3861点灯相关推荐

  1. 鸿蒙硬件HI3861开发环境搭建-串口2测试

    鸿蒙硬件HI3861开发环境搭建-串口2测试 鸿蒙硬件HI3861开发环境搭建-串口2测试 - 哔哩哔哩 鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/categ ...

  2. 鸿蒙硬件HI3861开发环境搭建

    鸿蒙HI3861开发环境搭建 最新的环境搭建教程请看:https://blog.csdn.net/qq_33259323/article/details/117854579 鸿蒙其他教程请看https ...

  3. 鸿蒙硬件开发:Hi3861开发环境搭建及Windows下编译下载程序

    Windows开发环境准备 可参考官方文档Windows开发环境准备进行配置. 安装VS Code https://code.visualstudio.com/Download 安装Python ht ...

  4. 鸿蒙硬件HI3861-OLED扫雷版本1

    鸿蒙硬件HI3861-OLED扫雷版本 使用HI3861实现在OLED1602上面实现扫雷 效果请看:https://www.bilibili.com/video/BV1U54y1r78j/ 1.OL ...

  5. 鸿蒙硬件HI3861-MQTT

    警告:MQTT移植不匹配,此文章作废,后续有鸿蒙高版本MQTT移植 鸿蒙硬件HI3861-MQTT 鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/category ...

  6. 鸿蒙硬件HI3861-连接WIFI

    鸿蒙硬件HI3861-连接WIFI 鸿蒙其他教程请看https://blog.csdn.net/qq_33259323/category_10520249.html 目录是这样的 BUILD.gn s ...

  7. 鸿蒙OS Hi3861的芯片实际开发中遇到的问题

    鸿蒙OS Hi3861的芯片实际开发中遇到的问题 优点: 比较适合开发者快速开发,上面的硬件操作的函数封装很简单,非常适合初学者使用封装好的函数调用硬件管脚,比如I2c gpio spi sdio 都 ...

  8. 鸿蒙硬件HI3861-INA226-电压测量(外挂方案)

    鸿蒙硬件HI3861-INA226-电压测量(外挂方案) ina226.c #include "ina226.h" #include <stdio.h> #includ ...

  9. 鸿蒙硬件HI3861-I2C-MCP23017

    鸿蒙硬件HI3861-I2C-MCP23017 如果有什么问题可以来B站问我 https://space.bilibili.com/309103931 1.什么是MCP23017 我是一款基于I2C接 ...

最新文章

  1. Spring bean 之 FactoryBean
  2. 设计模式——外观模式
  3. 几个常见的网络故障分析
  4. 中学计算机课的现状和感受,中小学信息技术课程的现状与发展.doc
  5. Webpack搭建ES6开发环境步骤
  6. 在linux中,强行中断程序 kill命令
  7. cpuz测试分数天梯图_最新手机处理器天梯图出炉:第一实至名归,你手机处理器排名高吗...
  8. 浅谈SQL语言的特点
  9. 发电厂及电力系统类毕业论文文献都有哪些?
  10. linux未找到 ftp命令,Linux服务器ftp命令找不到
  11. 密码学(三、非对称加密)
  12. w i ndows,解释计算 机Windows的学习英语(10页)-原创力文档
  13. Windows系统SVG图片预览插件
  14. Linux环境下文件写入失败可能原因
  15. 机器学习笔记 - 使用Keras和深度学习进行乳腺癌分类
  16. 4PAM在高斯信道与瑞利信道下的基带仿真系统实验
  17. 7位号段、运营商、归属地数据爬取与解析
  18. PyQt5+eric6之旅(三) - 多线程应用 - 追加显示
  19. Kubernetes Pod 所需要掌握的一切
  20. vue实现数字翻牌器组建,能够正常显示负数符号

热门文章

  1. python控制多台手机,用python同时启动多个appium,并让多个手机同时执行脚本
  2. 开源wms php,BIWEB WMS门户网站PHP开源建站系统
  3. python远程主机强迫关闭了_Python 远程主机强迫关闭了一个现有的连接
  4. nfs需要开通什么端口_开通微信小程序直播需要准备什么?
  5. iPad Air 2完全评测:可怕的三核CPU、六核GPU
  6. 深入分析Kubelet Bootstrap Checkpoint
  7. C++默认构造函数的合成
  8. 多浏览器判断,切换及使用
  9. 新一代企业级大数据应用方案
  10. 「前端」看懂前端脚手架你需要这篇webpack