赞
踩
目的:
实现呼吸灯。逐渐亮,逐渐灭。
准备工作
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。