STM32的PWM和DAC练习
一、PWM脉冲宽度调制波的输出
1.PWM简介
PWM (Pulse Width Modulation) 脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控 制的一种非常有效的技术,其控制简单、灵活和动态响应好等优点而成 为电力电子技术最广泛应用的控制方式。
简单来说,PWM波形就是对外输出脉宽(即占空比)可调的方波信号,我们可以调整它的占空比来得到不同的信号。
2.硬件方面
利用野火STM32F103指南者开发板进行实验,利用示波器进行观察,示波器的探头接在开发板PA8或者PB13上。
3.软件代码
利用野火大学堂提供的代码进行改编
使用TIM—通用定时器的代码进行实验
部分主要代码:
/*--------------------输出比较结构体初始化-------------------*/
// 占空比配置
uint16_t CCR1_Val = 5;
uint16_t CCR2_Val = 4;
uint16_t CCR3_Val = 3;
uint16_t CCR4_Val = 2;
TIM_OCInitTypeDef TIM_OCInitStructure;
// 配置为PWM模式1
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
// 输出使能
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
// 输出通道电平极性配置
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High