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口功能为GPIOIoTIoSetFunc(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口功能为GPIOIoTIoSetFunc(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内容为

import("//build/lite/config/component/lite_component.gni")lite_component("app") {features = ["pwm_led02"]
}

通过元气派达到呼吸灯的效果相关推荐

  1. 嵌入式学习——使用定时器输出PWM波形,实现 LED呼吸灯的效果

    嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 目录 嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 1. 任务要求 2 PWM波介绍, 2.1 什么是PWM(Pu ...

  2. 使用TIM3和TIM4,驱动外接LED和STM32上已焊接的LED,实现2个 LED呼吸灯的效果

    文章目录 一.PWM相关介绍 1.PWM的含义 2.PWM的基本原理 3.PWM的优点及应用范围 4.STM32上的PWM 5.PWM相关寄存器 6.PWM脉冲宽度调制 7.PWM的频率 二.实现呼吸 ...

  3. STM32F103C8T6核心开发板下,通过TIM3和TIM4输出PWM波形实现2个 LED呼吸灯的效果

    使用TIM3和TIM4,分别输出一个PWM波形,驱动一个外接的LED灯以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸灯的效果 文章目录 使用TIM3和TIM4 ...

  4. 使用STM32输出PWM波形LED呼吸灯的效果

    文章目录 前言 一.PWM简介 1.1 关于PWM 1.2 使用步骤 二.使用STM32CUBEMX实现2个 LED呼吸灯的效果 2.1.配置环境 2.2 代码配置 2.3.输出PWM波形 2.4 呼 ...

  5. 嵌入式——使用定时器输出PWM波形,实现 LED呼吸灯的效果

    一.实验要求: 使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼 ...

  6. 输出一个PWM并实现 LED呼吸灯的效果

    前言 本篇博客使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼吸 ...

  7. 嵌入式学习--使用定时器输出PWM波形,实现LED呼吸灯的效果

    目录 1.任务要求 2.PWM介绍 关于PWM的定义 分频-计数时钟 计数器 定时器输出PWM的原理 定时器的初始化 3.配置STM32CubeMX 4.keil5的代码 5.运行结果 6.心得与体会 ...

  8. 【K210】【MaixPy】二、Maix Dock入门之Timer、PWM基础模块,实现一个变色呼吸灯(效果参考罗技G502)

    文章目录 1.Timer模块 1.1.构造函数 1.2.参数 1.3.例程 1.4.附录 2.PWM功能设置 2.1.构造函数 2.2.参数 2.3.例程 官方文档点这里 1.Timer模块      ...

  9. Verilog实现呼吸灯效果

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

最新文章

  1. 第一次全面揭示世界软件巨人微软致胜的技术奥秘
  2. 7-1 最大子列和问题
  3. 在Linux上搭建 一个简单的vsftpd服务器
  4. linux地柜查找文件_linux-find【递归搜索文件名】
  5. mysql查询父子关系树_swt 生成树[读取Mysql数据库中的父子关系表]
  6. MSSQL数据库C#操作类(SQLHELPER类的修改版)
  7. 【转】Java MySQL数据类型对照
  8. 套套原来是这样装袋的,40个机械动图看懂好像并不容易。。。
  9. linkedblockingqueue 后 take 不消化_消化不良的成因及护理
  10. 浏览器端判断当前设备的运行环境
  11. TensorFlow的安装方法
  12. matplotlib—patches.Circle
  13. centos7.x/RedHat7.x重命名网卡名称
  14. 免费在线文本分析工具
  15. 开心网页面,使用CSS3
  16. 万字专栏总结 | 离线强化学习(OfflineRL)总结(原理、数据集、算法、复杂性分析、超参数调优等)...
  17. WIN10家庭版+ANSYS/AUTODYN安装学习
  18. 脑电伪迹降噪方法整理
  19. leetcode 14天刷题计划-数据结构入门(共计33题)
  20. 【金融财经】金融市场一周简报(2017-09-08)

热门文章

  1. c语言编译器10.110去广告,msvcp110.dll电脑文件
  2. 多普达和HTC关系(转)
  3. 天轰穿典型多层架构留言本项目实战免费下载
  4. 华为畅享6怎么找回计算机,华为荣耀畅玩6双清解屏幕锁格机恢复出厂设置方法...
  5. 第十三届蓝桥杯大赛软件类决赛Java大学B组C题——左移右移
  6. Excel作图,添加坐标轴名称
  7. 机器学习与网络信贷那些事
  8. Linux服务器离线安装transformers
  9. 统计学计算机难吗,我能不能做生信?生信难吗?
  10. 找个钝感力的家伙做男友,稳稳的幸…