基于for循环的呼吸灯
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
//#include "led.h"
#include "Breath_led.h"
#define bbb 5000 /*
定义三个无符号变量:
i控制亮灭的时间
j控制亮灭的亮度变化 控制低电平的时间
K控制整个呼吸灯的时间 讲解:总的时间为5000us
bbb-j bbb(bbb-j)
1、高电平的时间5000us 低电平的时间为0 红灯最亮
3、高电平的时间4000us 低电平的时间为1000
4、高电平的时间3000us 低电平的时间为2000
4、高电平的时间2000us 低电平的时间为3000
5、高电平的时间1000us 低电平的时间为4000
6、高电平的时间0000us 低电平的时间为5000 红灯熄灭
以上是从最亮到熄灭的过程 下面是最暗到亮的过程
1、高电平的时间0000us 低电平的时间为5000 红灯最亮
3、高电平的时间1000us 低电平的时间为4000
4、高电平的时间2000us 低电平的时间为3000
4、高电平的时间3000us 低电平的时间为2000
5、高电平的时间4000us 低电平的时间为1000
6、高电平的时间5000us 低电平的时间为0000 红灯熄灭 */
void led_red_init(); void Breath_led()
{
led_red_init();//GPIO初始化
unsigned int i=,j=,k;
for(k=;k<bbb;k++)//控制整个呼吸灯的时间
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5);//点亮红灯
for(i=;i<bbb-j;i++);//高电平的时间 一开始最亮 GPIO_SetBits(GPIOB,GPIO_Pin_5);//熄灭红灯
for(i=;i<bbb-(bbb-j);i++);//给低电平的时间 j++;//控制亮度的变化
if(j==bbb)//当j低电平的时间等于5000时,说明已经快熄灭了
{
//j=0; //从零开始 for(k=;k<bbb;k++)
{
j--;
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
for(i=;i<bbb-j;i++);
GPIO_SetBits(GPIOB,GPIO_Pin_5);
for(i=;i<bbb-(bbb-j);i++);
} }
} }
void led_red_init()
{ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitTypeDef gpio;
gpio.GPIO_Mode=GPIO_Mode_Out_PP;
gpio.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1;
gpio.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&gpio); GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1);//默认为低电平 }
基于for循环的呼吸灯的更多相关文章
- Nubia Z5S 基于官方H207/4.4内核的Mokee4.4.4 RC3.2 (2014.7.31修复呼吸灯(能亮依旧不能呼吸))
特别感谢 yun3195 和 轻描淡写Yhw 帮忙測试 转帖请务必注明本链接地址: http://blog.csdn.net/syhost/article/details/36444259 此ROM ...
- 浅浅的分析LED呼吸灯的实现和PWM的关系
前言 在本周,我们在python课上做了一个实验,用ARDUINO使小LED灯模仿出呼吸灯的效果,实验进行的很成功,但是机器当仅输出高/低电平的时候是怎么样才能做到渐亮渐暗(输出电压)的变化呢?在这里 ...
- (原创)用Verilog实现一个参数化的呼吸灯(Verilog,CPLD/FPGA)
1.Abstract 观察到一个有趣的现象,每当把Apple笔记本合上的时候,那个白色的呼吸灯就会反复地由暗渐明,然后又由明渐暗,乍一看就像Apple笔记本在打盹休息一样,十分可爱!于是突发奇 ...
- 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯
https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...
- Arduino系列之pwm控制LED灯(呼吸灯)
下面我将写出最简单控制呼吸灯的方法 void setup() // { pinMode(12,OUTPUT); ...
- 【microPython与esp8266】之一——呼吸灯与PWM
呼吸灯与pwm pwm是什么? PWM的全称是脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式: 简而言之,使 ...
- Android 呼吸灯流程分析
一.Android呼吸灯Driver实现 1.注册驱动 代码位置:mediatek/kernel/drivers/leds/leds_drv.c 602static struct platform_d ...
- 好玩的WPF第二弹:电子表字体显示时间+多彩呼吸灯特效button
我们先来看看Quartz MS字体动态显示系统时间的效果,难度相较于上一篇也要简单很多. 首先是定义一个TextBlock例如以下. <Grid> <TextBlock Name=& ...
- PWM(脉宽调制)——LED特效呼吸灯设计
简述PWM PWM--脉宽调制信号(Pulse Width Modulation),它利用微处理器的数字输出来实现,是对模拟电路控制的一种非常有效的技术,广泛应用于测量.通信.功率控制与变化等许多领域 ...
随机推荐
- Vue(小案例_vue+axios仿手机app)_图片列表操作
一.前言 1.让图片还没有被完全加载出来的时候给用户提示 2.图片查看器 二.主要内容 1.让图片还没有被完全加载出来的时候 ...
- command not found
1.问题(problem) #wget gzip.x86_64 0:1.5-10.el7 -bash: wget command not found 2.解决(solution) 两个都能用 yum ...
- Three ways to detect outliers
Z-score import numpy as np def outliers_z_score(ys): threshold = 3 mean_y = np.mean(ys) stdev_y = np ...
- mysql用户管理与备份
用户管理 我们知道在Mysql中root用户是最高权限的用户,其他用户的创建和权限授予都是通过root用户来操作的 查看用户 在root用户界面下 select user,host,password ...
- day 15 - 2 内置函数练习
内置函数练习 编写 sql 查询语句功能 文件内容: 1,Eva,22,13651054608,IT2,Vera,23,13304320533,Tearcher3,Renault,25,1333235 ...
- 让iframe自适应高度-真正解决
需求:实现 iframe 的自适应高度,能够随着页面的长度自动的适应以免除页面和 iframe 同时出现滚动条的现象. (需要只有iframe出现滚动条) 本人一开始这么写:会造成只有主页面加载是设定 ...
- django项目实现中文检索
在settings.py中设置 EMAIL_USE_SSL = True EMAIL_HOST = 'smtp.qq.com' # 如果是 163 改成 smtp.163.com EMAIL_POR ...
- rsync3.1.3的编译安装和常用操作
.rsync的编译安装 .tar.gz cd rsync- ./configure --prefix=/usr/local/rsync- --disable-ipv6 .rsync的配置文件: [ro ...
- python学习第20天
python中的继承 单继承 多继承
- 【原创】运维基础之Ansible(1)简介、安装和使用
官方:https://www.ansible.com/ 一 简介 Ansible is a radically simple IT automation engine that automates c ...