(一)PWM概念和原理
脉冲宽度调制(PWM),是英文“Pulse Width Modulation"的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
PWM原理示意图
上图是简单的PWM原理示意图。图中,我们假定定时器工作在向上计数PWM模式,且当CNT
(二)代码示例
环境:STM32F103C8 主频64MHz TIM3
(1)GPIO初始化
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Pull = GPIO_PULLUP;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
(2)PWM相关函数
//---------------------------main.c---------------------------------------
// PWM 输出初始化
// arr:自动重装值
static void TIM3_PWM_Init(UStoreData *pStoreData)
{
uint32_t liv_Var = Buzzer_Get_Buzzer_Volume(pStoreData->Buzzer_Volume);
if (liv_Var == BUZZER_VOLUME