写了一个简单的LED呼吸灯效果代码,可作为C语言初学者for循环的练习,用宏定义方便调用。

四个变量可调亮灭时间,i大,灭的时间长; j大,灭得慢; m大,亮的时间长; n大,亮得慢。

用STM32F103烧录实测效果还可以,分析给大家。

/* led实现呼吸灯效果:    i大,灭的时间长;  j大,灭得慢;   m大,亮的时间长;  n大,亮得慢 */#define   LED1_Toggle()   do{\for(int i=0;i<3000;i++)   \{\for(int j=0;j<2500;j++)\{\if(i>j)\{\HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_SET); \}    \else\{\HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_RESET);\}\}\}\for(int m=0;m<2500;m++)   \{\for(int n=0;n<2400;n++)\{\if(m>n)\{\HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_RESET); \}  \else\{\HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_SET);\}\}\}\}\while(0)

单片机实现led呼吸灯效果 宏定义函数相关推荐

  1. STM32使用延时控制LED灯亮暗变换,LED呼吸灯效果

    STM32F407ZE 使用延时控制LED灯亮暗变换,实现LED呼吸灯效果 具体代码如下: main.c部分 #include <stm32f4xx.h> #include "s ...

  2. Arduino ESP32利用PWM实现板载LED呼吸灯效果

    Arduino ESP32利用PWM实现板载LED呼吸灯效果 LEDC简介 LED控制(LEDC)外围设备主要用于控制LED的强度,尽管它也可以用于生成PWM信号用于其他目的.它具有16个通道,可以生 ...

  3. 基于51单片机的LED呼吸灯设计(定时器)

    定时器实现led呼吸灯 实验原理: 灯在高速闪烁时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失.每次循环时,前半部分先让亮的时间逐渐增加,暗的时间逐渐减小:后半部分 ...

  4. 单片机实现LED呼吸灯功能

    ** 程序名: 两键控制亮度 编写人: 编写时间: 2017年12月15日 硬件支持: STC12C2052 内部RC或外部12MHZ晶振 接口说明: 8个LED彩灯接P1口,按键接P3.7和P3.3 ...

  5. 基于STM32F4实现LED呼吸灯效果(PWM)

    文章目录 前言 一.定时器及PWM的概述 1.通用定时器 2.PWM 二.配置步骤及代码实现 总结 前言 今天我们来进行PWM的学习,今天使用到的是通用定时器TIM14 ,在此之前我们已经简单学习过定 ...

  6. stm32呼吸灯c语言程序,STM32使用PWM控制LED呼吸灯效果

    实验的STM32型号: STM32F103C8T6   48引脚 涉及到的知识: RCC,GPIO,TIMER,PWM 设置 *RCC需打开外部时钟 *GPIO查表得知 PA3 默认复用引脚 TIM2 ...

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

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

  8. keil5生成一个单片机led呼吸灯程序

    对于生成单片机 LED 呼吸灯程序,您可以以下这样做: 打开 Keil 5 软件,创建一个新项目. 选择您使用的单片机类型和板子,按照向导配置项目. 在程序代码中包含所需的头文件和定义. 使用 for ...

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

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

最新文章

  1. 万字长文综述目标检测领域,你要的都在这里
  2. C++中#if 0 ... #endif的用法
  3. 没看完这11 条,别说你精通 Python 装饰器
  4. 基于Echarts的HTML5 Canvas折线图DEMO演示
  5. 解决:Linux中的CentOS 7的火狐浏览器不能访问服务器
  6. 《scikit-learn》随机森林之回归
  7. python eval 字符串替换_Python中eval妙用,字符串转字典和列表
  8. java中的linearnumexpr,java - Cplex中的上限和下限等于0.0(在cplex中) - 堆栈内存溢出...
  9. 用友nc java启动不了_用友NC开发本地启动客户端时界面空白问题的解决
  10. Unity之粒子特效参数详解
  11. 一切皆是文件:UNIX,Linux 操作系統的設計哲學
  12. 如何成为一名机器学习算法工程师?
  13. 无线网卡dhcp服务器,ubuntu11.10配置无线网卡dhcp服务器记录(not authoritative for subnet 192.168.1.0问题解决)...
  14. 2022南京商业贷款提前还款
  15. OpenCV_连通区域分析(Connected Component Analysis-Labeling)
  16. 360极速浏览器取消默认迅雷下载的正确方法
  17. Cannot subclass final class class com.sun.proxy.$Proxy94
  18. 前端CSS样式去除body默认边距和a标签下划线去除和高亮显示问题
  19. 无线洗地机哪款性价比高?高性价比的洗地机分享
  20. 职高 计算机应用与基础测试卷,职高二计算机应用基础期末测试.doc

热门文章

  1. MyBatis DTD文件下载地址
  2. 英语学习详细笔记(十二)动词
  3. c语言图书馆管理系统(功能众多)
  4. DELF: DEep Local Features在Ubuntu20.04下安装配置
  5. 嵌入式linux开发,交叉编译qt4.8.5报错:Makefile:1054: recipe for target ‘.moc/release-shared-emb-arm/moc_qabstract
  6. https://mp.weixin.qq.com/s/j7YdtmyuzBFRK1BViDtp2w
  7. hdu3311 Dig The Wells(斯坦纳树模板题)
  8. 每日做题总结——day01
  9. 这个领域有意思,认识一下MSDS手写笔迹验证数据集
  10. win10msmpeng占内存_微软win10吃内存,CPU占用高,没有优化好?做好这3点系统快如飞...