通过元气派达到呼吸灯的效果

这篇具有很好参考价值的文章主要介绍了通过元气派达到呼吸灯的效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LED呼吸灯¶

项目编写¶

  1. 在 applications/genkipi/app 下新建 pwm_led01 文件夹
  2. pwm_led01 下新建 main.c 文件
  3. pwm_led01 下新建 BUILD.gn文件

代码部分¶

main.c 文件内容

#include <stdio.h>
#include <string.h>
#include <unistd.h>

#include "ohos_init.h"
#include "cmsis_os2.h"

#include "iot_gpio.h"
#include "iot_pwm.h"
#include "iot_io.h"
#include "genki_pin.h"


static void start(void) {
    //初始化GPIO口
    IoTGpioInit(IOT_IO_NAME_2);
    //设置IO口功能为GPIO
    IoTIoSetFunc(IOT_IO_NAME_2, IOT_IO_FUNC_2_PWM2_OUT);
    //设置IO口输出方向:输出
    IoTGpioSetDir(IOT_IO_NAME_2, IOT_GPIO_DIR_OUT);
    //初始化PWM功能
    IoTPwmInit(IOT_IO_NAME_2);
    //不断输出pwm方波
    while (1) {
        for (int i = 0; i < 20; i++) {

            IoTPwmStart(IOT_IO_NAME_2, i, 10000);

            usleep(0.05 * 1000 * 1000);
        }

        for (int i = 20; i > 0; i--) {
            IoTPwmStart(IOT_IO_NAME_2, i, 10000);

            usleep(0.05 * 1000 * 1000);
        }

    }
}

APP_FEATURE_INIT(start);

项目Build.gn¶

pwm_led01 目录下 BUILD.gn 内容为

static_library("pwm_led01") {
    sources = [
        "main.c"
    ]

    include_dirs = [
        "//utils/native/lite/include",
        "//base/iot_hardware/peripheral/interfaces/kits",
        "//device/itcast/genkipi/interfaces/kits"
    ]
}

外部Build.gn¶

pwm_led01文件夹上一级目录下BUILD.gn内容为

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
    features = [
        "pwm_led01"
    ]
}

外接LED呼吸灯¶

接线要求¶

  • GND连接开发板GND

  • VCC连接开发板3.3V或5V

  • OUT连接GPIO14引脚(其它引脚也可以)

项目编写¶

  1. 在 applications/genkipi/app 下新建 pwm_led02 文件夹
  2. pwm_led02 下新建 main.c 文件
  3. pwm_led02 下新建 BUILD.gn文件

代码部分¶

main.c 文件内容

#include <stdio.h>
#include <string.h>
#include <unistd.h>

#include "ohos_init.h"
#include "cmsis_os2.h"

#include "iot_gpio.h"
#include "iot_pwm.h"
#include "iot_io.h"
#include "genki_pin.h"


static void start(void) {
    //初始化GPIO口
    IoTGpioInit(IOT_IO_NAME_14);
    //设置IO口功能为GPIO
    IoTIoSetFunc(IOT_IO_NAME_14, IOT_IO_FUNC_14_PWM5_OUT);
    //设置IO口输出方向:输出
    IoTGpioSetDir(IOT_IO_NAME_14, IOT_GPIO_DIR_OUT);
    //初始化PWM功能
    IoTPwmInit(IOT_PWM_NAME_5);
    //不断输出pwm方波
    while (1) {
        for (int i = 0; i < 20; i++) {

            IoTPwmStart(IOT_PWM_NAME_5, i, 10000);

            usleep(0.05 * 1000 * 1000);
        }

        for (int i = 20; i > 0; i--) {
            IoTPwmStart(IOT_PWM_NAME_5, i, 10000);

            usleep(0.05 * 1000 * 1000);
        }
    }
}

APP_FEATURE_INIT(start);

项目Build.gn¶

pwm_led02 目录下 BUILD.gn 内容为

static_library("pwm_led02") {
    sources = [
        "main.c"
    ]

    include_dirs = [
        "//utils/native/lite/include",
        "//base/iot_hardware/peripheral/interfaces/kits",
        "//device/itcast/genkipi/interfaces/kits"
    ]
}

外部Build.gn¶

pwm_led02文件夹上一级目录下BUILD.gn内容为文章来源地址https://www.toymoban.com/news/detail-665937.html

import("//build/lite/config/component/lite_component.gni")

lite_component("app") {
    features = [
        "pwm_led02"
    ]
}

到了这里,关于通过元气派达到呼吸灯的效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过使用html的css样式来达到给背景色添加渐变色的效果

    这里我直接添加了两个div,并且给两个div添加了基本的css样式,有问题请私信          在演示开始之前我们先来认识一下实现渐变效果的一个属性  background: linear-gradient 这个是我们设置背景渐变色的关键属性,然后我们开始演示(这里我们通过修改第二个div)          

    2024年02月08日
    浏览(53)
  • 点亮你的创意,使用Python与树莓派制作呼吸灯的详细教程

      在上一篇文章中,我们介绍了如何在树莓派上点亮一个LED灯,并让它以时间间隔为1秒进行闪烁。闪亮登场!在树莓派上点亮LED灯的简单详细方法_☞黑心萝卜三条杠☜的博客-CSDN博客。现在,我们将介绍如何制作一个呼吸灯。   PWM是脉冲宽度调制(Pulse Width Modulation)的

    2024年02月10日
    浏览(44)
  • HarmonyOS 通过 animateTo讲解尺寸动画效果

    上文 HarmonyOS讲解并演示 animateTo 动画效果 我们已经做出了基本的动画效果 也对 animateTo 的使用比较熟悉了 第一个参数是 配置动画参数的json 第二个参数 则是改变我们元素属性值的事件 但属性值 远远不止位置属性 本文 我们来说 通过尺寸变化 完成动画效果 如果你有看过我的

    2024年02月01日
    浏览(31)
  • 【Unity实战】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)

    参考原视频链接 : 【视频】:https://space.bilibili.com/641773200 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月12日
    浏览(51)
  • 【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(二)(附源码)

    参考原视频链接 : 【视频】:https://space.bilibili.com/641773200 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月07日
    浏览(65)
  • 【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)

    参考原视频链接 【视频】:https://space.bilibili.com/641773200 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入 近几年 俯视角射击游戏 随着《挺进地牢》等双摇杆射击游戏的火热再次出现在玩家的视野中,这类游戏通常都有种类繁多的 武器

    2024年02月12日
    浏览(51)
  • Verilog实现呼吸灯效果

    呼吸灯的效果采用PWM调波的形式,即快速的改变每个周期的占空比(一个周期内高电平时间占一个周期时间的比值)来实现点亮到熄灭的效果。示意如下图 而关于整个波形图,用50MHz的晶振,从0开始计数到49则为1us。 而1ms是1us的1000倍,以1us为基准,从0开始计数到999则为1ms。

    2024年02月09日
    浏览(30)
  • 呼吸灯效果css

    2024年02月15日
    浏览(36)
  • labview实现呼吸灯颜色渐变效果

    呼吸灯效果具有美好的视觉观感,前一段时期感受了一位大佬在MCU中实现呼吸灯颜色渐变效果,很是震撼。这引起了我的兴趣,本文则是实现一种呼吸灯效果(主要在于颜色的渐变体现)。

    2024年02月17日
    浏览(44)
  • SVG+CSS动画实现动效(流光、呼吸等效果)

    绘制流光线条 创建SVG,根据UI给的背景图,定位到图上每条管道(即流光线条的路径)的起始点以及拐点,绘制折线。绘制折线的时候按照下图方框通过class分组,这几组的光线流动是同时出发的。 svg相关知识点:https://www.w3school.com.cn/svg/index.asp 折线样式 让光线动起来 上边

    2024年01月21日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包