STM32呼吸灯的制作

目的:

实现呼吸灯。逐渐亮,逐渐灭。

准备工作

1.首先我们需要准备32的最小系统板或者开发板。
2.准备一个LED灯(如果使用板子上的灯来实现则不需要,下面我是使用最小系统板上的LED灯来实现)。
3.若干杜邦线。
4.软件方面的准备,我是直接使用开源PWM源码进行修改。

外设工作靠电流,因此要改变电流大小,所以要动电阻或电压。

电阻:阻值固定,不可更改。

电压:怎么改变电压大小呢?

方法1:在单位时间(4s),通过GPIO口,给高电平的时间逐渐变长,给低电平时间逐渐变短,来实现灯逐渐变亮。反之,灯逐渐变暗。

方法2:通过PWM实现,跟定时器有关。

二:代码实现

1.设置亮暗的循环周期

解释:在四秒的单位时间中,时间是逐渐增加的。那我可不可以把高电平的时间逐渐增加Delay(i)呢?把低电平的时间逐渐减少Delay(4000 - i)呢?

2.这样单位时间的平均电流就变小了!!!

如下:

1s:低低低高

2s:低低高高

3s: 低高高高

4s: 高高高高

代码如下:

1.LED初始化函数

#include "stm32f10x.h"
 
static __IO uint32_t TimingDelay;
void RCC_C

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Keil是一种广泛使用的集成开发环境(IDE),常用于嵌入式系统开发,而STM32则是一款由STMicroelectronics(意法半导体)推出的32位ARM Cortex-M系列微控制器。 要控制STM32呼吸,我们可以通过Keil来编写程序。首先,我们需要在Keil中创建一个新的项目,并选择适用于STM32的设备。然后,我们需要引入相应的外设库和头文件,例如GPIO(通用输入输出)库和延时(Delay)库。 接下来,我们可以使用GPIO库配置一个引脚作为输出,并设置为PWM(脉冲宽度调制)模式。PWM是一种通过控制信号的脉冲宽度来模拟模拟信号的技术,可以用来实现呼吸效果。 在程序中,我们可以使用一个循环来逐渐增加和减少PWM的占空比,从而实现呼吸的效果。占空比是指PWM信号中高电平占总周期的比例,决定了亮度的变化。 为了呼吸效果更加平滑,我们可以在每次占空比变化之间插入一定的延时。延时库可以帮助我们实现这个功能。 最后,我们可以将程序烧录到STM32微控制器中,然后观察呼吸的效果。程序会循环执行,使呼吸的亮度逐渐增加和减少。 总结起来,通过Keil编写程序来控制STM32呼吸需要以下几个步骤:创建项目、配置引脚和外设库、编写程序来实现呼吸效果、烧录程序到STM32微控制器中,并观察呼吸效果。这样就能够使用Keil控制STM32呼吸了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值