1. #include "stm32f10x.h"
  2. #include "stm32f10x_gpio.h"
  3. //#include "led.h"
  4. #include "Breath_led.h"
  5. #define bbb 5000
  6.  
  7. /*
  8. 定义三个无符号变量:
  9. i控制亮灭的时间
  10. j控制亮灭的亮度变化 控制低电平的时间
  11. K控制整个呼吸灯的时间
  12.  
  13. 讲解:总的时间为5000us
  14. bbb-j bbb(bbb-j)
  15. 1、高电平的时间5000us 低电平的时间为0 红灯最亮
  16. 3、高电平的时间4000us 低电平的时间为1000
  17. 4、高电平的时间3000us 低电平的时间为2000
  18. 4、高电平的时间2000us 低电平的时间为3000
  19. 5、高电平的时间1000us 低电平的时间为4000
  20. 6、高电平的时间0000us 低电平的时间为5000 红灯熄灭
  21. 以上是从最亮到熄灭的过程
  22.  
  23. 下面是最暗到亮的过程
  24. 1、高电平的时间0000us 低电平的时间为5000 红灯最亮
  25. 3、高电平的时间1000us 低电平的时间为4000
  26. 4、高电平的时间2000us 低电平的时间为3000
  27. 4、高电平的时间3000us 低电平的时间为2000
  28. 5、高电平的时间4000us 低电平的时间为1000
  29. 6、高电平的时间5000us 低电平的时间为0000 红灯熄灭
  30.  
  31. */
  32. void led_red_init();
  33.  
  34. void Breath_led()
  35. {
  36. led_red_init();//GPIO初始化
  37. unsigned int i=,j=,k;
  38. for(k=;k<bbb;k++)//控制整个呼吸灯的时间
  39. {
  40. GPIO_ResetBits(GPIOB,GPIO_Pin_5);//点亮红灯
  41. for(i=;i<bbb-j;i++);//高电平的时间 一开始最亮
  42.  
  43. GPIO_SetBits(GPIOB,GPIO_Pin_5);//熄灭红灯
  44. for(i=;i<bbb-(bbb-j);i++);//给低电平的时间
  45.  
  46. j++;//控制亮度的变化
  47. if(j==bbb)//当j低电平的时间等于5000时,说明已经快熄灭了
  48. {
  49. //j=0; //从零开始
  50.  
  51. for(k=;k<bbb;k++)
  52. {
  53. j--;
  54. GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  55. for(i=;i<bbb-j;i++);
  56. GPIO_SetBits(GPIOB,GPIO_Pin_5);
  57. for(i=;i<bbb-(bbb-j);i++);
  58. }
  59.  
  60. }
  61. }
  62.  
  63. }
  64. void led_red_init()
  65. {
  66.  
  67. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  68. GPIO_InitTypeDef gpio;
  69. gpio.GPIO_Mode=GPIO_Mode_Out_PP;
  70. gpio.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1;
  71. gpio.GPIO_Speed=GPIO_Speed_50MHz;
  72. GPIO_Init(GPIOB,&gpio);
  73.  
  74. GPIO_SetBits(GPIOB,GPIO_Pin_5|GPIO_Pin_0|GPIO_Pin_1);//默认为低电平
  75.  
  76. }

基于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. 【microPython与esp8266】之一——呼吸灯与PWM

    呼吸灯与pwm pwm是什么? PWM的全称是脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式: 简而言之,使 ...

  7. Android 呼吸灯流程分析

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

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

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

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

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

随机推荐

  1. postgresql语句

    查询oracle数据库所有表数据量 select t.table_name,t.num_rows from user_tables t ORDER BY t.num_rows desc 查询postg ...

  2. CMDB资产管理系统开发【day26】:数据正式存入待存区

    1.from表单提交 1.数据提交到哪里呢? 提交到assets/new_assets_approval.html这了 2.Yes, I'm sure提交了什么?          为什么没有下拉框了 ...

  3. 金融量化分析【day110】:Pandas-DataFrame索引和切片

    一.实验文档准备 1.安装 tushare pip install tushare 2.启动ipython C:\Users\Administrator>ipython Python 3.7.0 ...

  4. Regularity criteria for NSE 6: $u_3,\p_3u_1,\p_3u_2$

    In [Zujin Zhang, Jinlu Li, Zheng-an Yao, A remark on the global regularity criterion for the 3D Navi ...

  5. burp suite 基础入门超详细教程

    介绍: 都是我个人了解到的信息,,分享给大家 欢迎指正 burp suite 被誉为web安全工具中的瑞士军刀. 大家知道,瑞士军刀,都是体积小,功能强悍,.西方军队的标配.说这么多,只是想强调这款工 ...

  6. 删除对象的某个属性 delete

    有时候我们可能会遇到需要删除一个对象的某个属性的这种情况,保留剩下的,不想遍历,那我们就可以使用delete操作符, let obj = { a: 1, b: 2, c: 3 } delete obj ...

  7. YYS FZU - 2278 (期望)JAVA

    题目链接: G - YYS FZU - 2278 题目大意: 我们现在想要收集到n个卡片,现在已知抽到每种卡片的概率为1/n,现在每隔(n-1)!天就可以进行一次抽奖,问收集齐所有卡片的期望天数. 具 ...

  8. jetty启动设置端口

    nohup java -jar start.jar jetty.port=10010 命令不能在后台运行,ctrl+c程序就自动停止了,可以在命令后面加个&符号,就可以了 nohup java ...

  9. python 中and,or计算规则

    and :如果表达式都不为假,则返回最后一个表达式的值,如果为假返回第一个表达式为假的值.(遇到假的表达式就返回此表达式的值) or :如果都为假,,返回最后一个假表达式的值,如果有真,则返回第一个真 ...

  10. Struts2优缺点

    优点: (1)  实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现. (2)  丰富的标签库,大大提高了开发的效率. (3) Struts2提供丰富的拦截器实现. (4) 通过配置文件, ...