#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循环的呼吸灯的更多相关文章

  1. Nubia Z5S 基于官方H207/4.4内核的Mokee4.4.4 RC3.2 (2014.7.31修复呼吸灯(能亮依旧不能呼吸))

    特别感谢 yun3195 和 轻描淡写Yhw  帮忙測试 转帖请务必注明本链接地址: http://blog.csdn.net/syhost/article/details/36444259 此ROM ...

  2. 浅浅的分析LED呼吸灯的实现和PWM的关系

    前言 在本周,我们在python课上做了一个实验,用ARDUINO使小LED灯模仿出呼吸灯的效果,实验进行的很成功,但是机器当仅输出高/低电平的时候是怎么样才能做到渐亮渐暗(输出电压)的变化呢?在这里 ...

  3. (原创)用Verilog实现一个参数化的呼吸灯(Verilog,CPLD/FPGA)

    1.Abstract     观察到一个有趣的现象,每当把Apple笔记本合上的时候,那个白色的呼吸灯就会反复地由暗渐明,然后又由明渐暗,乍一看就像Apple笔记本在打盹休息一样,十分可爱!于是突发奇 ...

  4. 12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

    https://www.cnblogs.com/yangfengwu/p/11094085.html PWM其实没有什么,就是看着官方给的API,,,然后就是用呗 对了,其实对于RTOS SDK版本的 ...

  5. Arduino系列之pwm控制LED灯(呼吸灯)

    下面我将写出最简单控制呼吸灯的方法 void setup()                                 // { pinMode(12,OUTPUT);             ...

  6. Android 呼吸灯流程分析

    一.Android呼吸灯Driver实现 1.注册驱动 代码位置:mediatek/kernel/drivers/leds/leds_drv.c 602static struct platform_d ...

  7. 好玩的WPF第二弹:电子表字体显示时间+多彩呼吸灯特效button

    我们先来看看Quartz MS字体动态显示系统时间的效果,难度相较于上一篇也要简单很多. 首先是定义一个TextBlock例如以下. <Grid> <TextBlock Name=& ...

  8. PWM(脉宽调制)——LED特效呼吸灯设计

    简述PWM PWM--脉宽调制信号(Pulse Width Modulation),它利用微处理器的数字输出来实现,是对模拟电路控制的一种非常有效的技术,广泛应用于测量.通信.功率控制与变化等许多领域 ...

  9. 发布自己第一个npm 组件包(基于Vue的文字跑马灯组件)

    一.前言 总结下最近工作上在移动端实现的一个跑马灯效果,最终效果如下: 印象中好像HTML标签的'marquee'的直接可以实现这个效果,不过 HTML标准中已经废弃了'marquee'标签 既然HT ...

随机推荐

  1. Java各种数据结构实现

    1.单向链表 实现思路:创建Node类,包括自己的数据和指向下一个:创建Node类,包括头尾节点,实现添加.删除.输出等功能. tips:n = n.next不破坏链表结果,而n.next = n.n ...

  2. Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)

    原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip   --> 将其下的 \ ...

  3. Qt 5入门指南之Qt Quick编程示例

    编程示例 使用Qt创建应用程序是十分简单的.考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了 不同的方法.在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且 ...

  4. 一道面试题引发的pythonic

    一道测试工程师面试题(来自搜狗): 自己写了解法: # -*- coding: utf-8 -*- import re #从整体log中过滤出有用的部分,缩小搜索范围 def filter_log(t ...

  5. 数据库DBUtils基本使用

    Apache-DBUtils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,使用dbutils能极大简化jdbc编码的工作量,同 ...

  6. 颜色模式、DPI和PPI、位图和矢量图

    颜色模式:用于显示和打印图像的颜色模型 RGB:电子设备的颜色 CMYF:印刷的颜色 印刷的图像分辨率大于等于120像素/厘米,300像素每英寸 图像分辨率单位为PPI(每英寸像素Pixel per ...

  7. [Chrome]点击页面元素后全屏

    function isFullScreen() { return (document.fullScreenElement && document.fullScreenElement ! ...

  8. 000 SpringMVC介绍

    1.介绍 2.MVC 模型(Model)封装了应用程序数据,通常它们将由POJO类组成. 视图(View)负责渲染模型数据,一般来说它生成客户端浏览器可以解释HTML输出. 控制器(Controlle ...

  9. 20145105 《Java程序设计》实验三总结

    实验三 一.       实验内容 结对修改实验一代码,重点学习重构 二.       实验步骤 下载结伴同学的实验一代码 初始代码 进行整数.小数和负数的多组数据测试,发现一个运行错误的例子 分析后 ...

  10. Android——Android Bundle类(转)

    今天发现自己连Bundle类都没有搞清楚,于是花时间研究了一下. 根据google官方的文档(http://developer.android.com/reference/android/os/Bun ...