1.软件及工程环境搭建

  • 就不介绍了,可以直接用现成的
    链接:https://pan.baidu.com/s/1GaSYpNm6yh-lZZmqRdXxvQ
    提取码:dy63
  • 相关库文件
    链接:https://pan.baidu.com/s/19PLYdtiuSoZZGdVD7_tumQ
    提取码:mrw8

2.GPIO实现led呼吸灯

  • 首先添加一下库函数
  • 看一下开发板原理图


    得到对应的PC10,PC11,PC13
  • 什么都不要说直接上代码
  • 先LED初始化
void LEDInit(void)
{GPIO_InitTypeDef GPIO;//自定义GPIO    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);//外部时钟C使能GPIO.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_11|GPIO_Pin_10;//选择引脚GPIO.GPIO_Mode = GPIO_Mode_OUT;//选择模式GPIO.GPIO_OType = GPIO_OType_PP;//选择类型寄存器 GPIO.GPIO_Speed = GPIO_Speed_50MHz;//选择速度GPIO.GPIO_PuPd = GPIO_PuPd_NOPULL;//选择上下拉GPIO_Init(GPIOC,&GPIO);//写入寄存器GPIO_SetBits(GPIOC,GPIO_Pin_13|GPIO_Pin_11|GPIO_Pin_10);//输出高电频关灯//GPIO_ResetBits(GPIOC,GPIO_Pin_13|GPIO_Pin_11|GPIO_Pin_10);   //输出低电频开灯                                                                                                       //输出低电频关灯
}
  • 给一个自定义的延迟函数
void dalyg(int n)
{int i;for(i=0;i<n;i++);
}
  • 实现呼吸灯功能
void ledbreath(int t,int i)
{GPIO_ResetBits(GPIOC,GPIO_Pin_13);GPIO_SetBits(GPIOC,GPIO_Pin_13);GPIO_ResetBits(GPIOC,GPIO_Pin_11);GPIO_SetBits(GPIOC,GPIO_Pin_11);GPIO_ResetBits(GPIOC,GPIO_Pin_10);GPIO_SetBits(GPIOC,GPIO_Pin_10);dalyg(i);GPIO_SetBits(GPIOC,GPIO_Pin_13);GPIO_ResetBits(GPIOC,GPIO_Pin_13);GPIO_SetBits(GPIOC,GPIO_Pin_11);GPIO_ResetBits(GPIOC,GPIO_Pin_11);GPIO_SetBits(GPIOC,GPIO_Pin_10);GPIO_ResetBits(GPIOC,GPIO_Pin_10);dalyg(t-i);
}
  • 主函数调用相关的函数
LEDInit();
int DeyTim=8000,i;
while(1){for(i=1;i<DeyTim;i+=1)//这两个参数随便调,只要效果明显就行了,先开始i增加占空比在增大{ledbreath(DeyTim,i);   }  dalyg(100);for(i=DeyTim;i>1;i-=1)//后占空比开始减小{ledbreath(DeyTim,i);   }    dalyg(100);}
  • 到此完美实现led呼吸灯,最后感谢大家阅读,如果需要其他相关资料请联系我。

嵌入式STM32—第一天GPIO实现led呼吸灯相关推荐

  1. STM32输出PWM波形及LED呼吸灯

    目录 一.PWM的介绍 1.概述 2.优点 3.主要产生方法 SPWM法 1.等面积法 2.硬件调制法 3.软件生成法 4.PWM电路图 5.PWM基本原理 二.cubemx项目的建立 1.选择芯片S ...

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

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

  3. 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号

    定时器控制LED闪烁与产生PWM脉冲宽度调制信号 一.前言 二.定时器基本介绍 (一)STM32定时器 (二)通用定时器主要功能 (三)计数器模式 (四)定时器工作原理 三.实验(1)初识定时器 (一 ...

  4. STM32实现定时器和LED呼吸灯

    目录 一.实现定时器 1.定时器的介绍 1.1定时器的概念及作用 1.2定时器的分类 2.新建项目 2.1新建 2.2选择STM32F103C8T6芯片 2.3配置SYS 2.4配置RCC 2.5配置 ...

  5. STM32输出PWM波形以及实现LED呼吸灯

    目录 一.PWM的简介 1.PWM的定义 2.PWM的优点 3.PWM的几种控制方法 (1)等脉宽PWM法 (2)随机PWM (3)SPWM法 4.PWM的主要参数 (1)PWM占空比 (2)PWM的 ...

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

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

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

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

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

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

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

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

最新文章

  1. 【快乐水题】1716. 计算力扣银行的钱
  2. oracle 数组类型
  3. ThreadLocal类与Synchonized对象锁的区别
  4. 关于逐项作用函数的用法
  5. Oracle 游标的练习
  6. vue实现查询多条记录_vue.js 实现天气查询
  7. Mac 终端连接linux程服务器并相互传输文件
  8. 做品牌 在男人和女人之间玩转巧妙和平衡
  9. 四叉树(QuadTree)原理
  10. 贾跃亭个人破产内幕曝光 差一点获得中东土豪投资
  11. opencv 摄像头基本使用
  12. 数据结构之二叉平衡树
  13. 佛,我心中的一朵莲花
  14. 华为手机提示更新包与已安装应用的签名不一致
  15. ARP缓存表过期问题
  16. 0ctf writeup
  17. 交换机基本介绍(分类、性能指标、硬件构成及工作方式)
  18. Installation of Theano on Windows
  19. “燕云十六将”之毛毛杜倩(7)
  20. fiddler和wireshark

热门文章

  1. ajax传递多参数类型,Ajax传递不同类型的参数
  2. MAC下Defect4J安装与配置
  3. Linux安装Intel无线网卡(Ubuntu 16.04)
  4. 从零开始学习软件测试
  5. 虚幻引擎学习笔记——Month1 Week2
  6. Vue突然报错 doesn‘t work properly without JavaScript enabled
  7. EasyExcel标题加批注和标题字体填充红色
  8. 运用ARCGIS制作行政区划数据图表
  9. python中random.seed(1)_Python-random.seed()
  10. 液压比例阀放大器比例控制器比例阀放大板