基于stm32的pwm呼吸灯

这一节的程序所涉及到的硬件是比较简单,主要是考察对stm32时钟的应用

原理性质的东西我就不多说了,参考书目为:
《STM32库开发实战指南》 刘火良,杨森著
《STM32开发指南(库函数版本)》 正点原子著

使用定时器来控制I/O口输出PWM波形,从而驱动LED灯出现类似呼吸频率一般的亮灭。

硬件电路图:
基于stm32的pwm呼吸灯_第1张图片

我的收获:
1 基于stm32的pwm呼吸灯_第2张图片
这是STM32数据手册上对TIM3通用定时器复用功能重映象的描述,假设让PA6作为PWM输出,从图中可以看出PA6对应TIM3的通道1,
使能TIM3通道1的函数为

TIM_OC1Init();

同样的,如果想要使能PA7,它对应的是TIM3的通道2,那么使能通道2的函数便是:

TIM_OC2Init()

以此类推,需要注意,使能不同相同定时器不同通道的函数是有一点小差别的,防止在程序中调用TIM_OC1Init()函数来使能TIM3通道2这种情况的发生。

2 基于stm32的pwm呼吸灯_第3张图片
注意看这里,假设使用的是TIM3的通道1,那么这里就要写成

TIM3->CCR1

类似的如果用TIM3定时器的通道2,这里就要相应的改为

TIM3->CCR2

这同样是为了防止本来计划使用的是TIM3的通道1,反而在这里自摆乌龙写为了TIM->CCR2的情况,这样的错误一般很隐蔽,不容易查找。

相应的程序已经上传,但是不知道为什么在这里无法显示程序的下载地址,需要下载可以去我的资源里下载。

工程文件为
Progect–>RVMDK(uv4)–>iSO_STM32
基于stm32的pwm呼吸灯_第4张图片

你可能感兴趣的:(硬件,stm32)