嵌入式STM32—第一天GPIO实现led呼吸灯
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呼吸灯相关推荐
- STM32输出PWM波形及LED呼吸灯
目录 一.PWM的介绍 1.概述 2.优点 3.主要产生方法 SPWM法 1.等面积法 2.硬件调制法 3.软件生成法 4.PWM电路图 5.PWM基本原理 二.cubemx项目的建立 1.选择芯片S ...
- 嵌入式学习——使用定时器输出PWM波形,实现 LED呼吸灯的效果
嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 目录 嵌入式学习--使用定时器输出PWM波形,实现 LED呼吸灯的效果 1. 任务要求 2 PWM波介绍, 2.1 什么是PWM(Pu ...
- 嵌入式STM32入门之定时器控制LED闪烁与产生PWM脉冲宽度调制信号
定时器控制LED闪烁与产生PWM脉冲宽度调制信号 一.前言 二.定时器基本介绍 (一)STM32定时器 (二)通用定时器主要功能 (三)计数器模式 (四)定时器工作原理 三.实验(1)初识定时器 (一 ...
- STM32实现定时器和LED呼吸灯
目录 一.实现定时器 1.定时器的介绍 1.1定时器的概念及作用 1.2定时器的分类 2.新建项目 2.1新建 2.2选择STM32F103C8T6芯片 2.3配置SYS 2.4配置RCC 2.5配置 ...
- STM32输出PWM波形以及实现LED呼吸灯
目录 一.PWM的简介 1.PWM的定义 2.PWM的优点 3.PWM的几种控制方法 (1)等脉宽PWM法 (2)随机PWM (3)SPWM法 4.PWM的主要参数 (1)PWM占空比 (2)PWM的 ...
- 使用TIM3和TIM4,驱动外接LED和STM32上已焊接的LED,实现2个 LED呼吸灯的效果
文章目录 一.PWM相关介绍 1.PWM的含义 2.PWM的基本原理 3.PWM的优点及应用范围 4.STM32上的PWM 5.PWM相关寄存器 6.PWM脉冲宽度调制 7.PWM的频率 二.实现呼吸 ...
- STM32使用延时控制LED灯亮暗变换,LED呼吸灯效果
STM32F407ZE 使用延时控制LED灯亮暗变换,实现LED呼吸灯效果 具体代码如下: main.c部分 #include <stm32f4xx.h> #include "s ...
- 使用STM32输出PWM波形LED呼吸灯的效果
文章目录 前言 一.PWM简介 1.1 关于PWM 1.2 使用步骤 二.使用STM32CUBEMX实现2个 LED呼吸灯的效果 2.1.配置环境 2.2 代码配置 2.3.输出PWM波形 2.4 呼 ...
- 嵌入式——使用定时器输出PWM波形,实现 LED呼吸灯的效果
一.实验要求: 使用TIM3和TIM4,分别输出一个PWM波形,PWM的占空比随时间变化,去驱动你外接的一个LED以及最小开发板上已焊接的LED(固定接在 PC13 GPIO端口),实现2个 LED呼 ...
最新文章
- 【快乐水题】1716. 计算力扣银行的钱
- oracle 数组类型
- ThreadLocal类与Synchonized对象锁的区别
- 关于逐项作用函数的用法
- Oracle 游标的练习
- vue实现查询多条记录_vue.js 实现天气查询
- Mac 终端连接linux程服务器并相互传输文件
- 做品牌 在男人和女人之间玩转巧妙和平衡
- 四叉树(QuadTree)原理
- 贾跃亭个人破产内幕曝光 差一点获得中东土豪投资
- opencv 摄像头基本使用
- 数据结构之二叉平衡树
- 佛,我心中的一朵莲花
- 华为手机提示更新包与已安装应用的签名不一致
- ARP缓存表过期问题
- 0ctf writeup
- 交换机基本介绍(分类、性能指标、硬件构成及工作方式)
- Installation of Theano on Windows
- “燕云十六将”之毛毛杜倩(7)
- fiddler和wireshark
热门文章
- ajax传递多参数类型,Ajax传递不同类型的参数
- MAC下Defect4J安装与配置
- Linux安装Intel无线网卡(Ubuntu 16.04)
- 从零开始学习软件测试
- 虚幻引擎学习笔记——Month1 Week2
- Vue突然报错 doesn‘t work properly without JavaScript enabled
- EasyExcel标题加批注和标题字体填充红色
- 运用ARCGIS制作行政区划数据图表
- python中random.seed(1)_Python-random.seed()
- 液压比例阀放大器比例控制器比例阀放大板