STM32的PWM和DAC练习
本次实验,我将运用定时器输出PWM波形,熟悉脉冲宽度调制和数模/模数转换原理,并用示波器观察输出波形。
1 采用定时器的方法输出 PWM 波形
1)PWM 简介:
- 脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或 MOS 管栅极的偏置,来实现晶体管或 MOS 管导通时间的改变,从而实现开关稳压电源输出的改变。
- 这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。
- 脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
2)PWM 控制的基本原理: - 冲量相等而开头不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。其中冲量指窄脉冲的面积;效果相同指环节输出响应波形基本相同。
- 用一系列等幅不等宽的脉冲来代替一个正弦半波。
以下为上课时所用截图
1.1 定时器实现 PWM 波形输出
打开课上所使用过的STM32CubeMX,本次准备做一个渐变灯。
主要步骤:
- 将SYS设置为serial wire
- 将PC6、7、8分别设置为CH1、2、3
- 灯设置为开漏
大功告成后,点击左上角齿轮,选择Open project
程序也比较简单,定义亮暗后进行烧录
函数体外定义:
void rgb_led_init(void)
{
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&