1.初始化复用管脚
void BEEP_Init()
{
GPIO_InitTypeDef GPIO_Initure;
__HAL_RCC_TIM4_CLK_ENABLE(); //使能定时器1
__HAL_RCC_GPIOB_CLK_ENABLE(); //开启GPIOA时钟
GPIO_Initure.Pin=GPIO_PIN_9; //PB9 他有对应的TIM和通道,PWM4_CH4
GPIO_Initure.Mode=GPIO_MODE_AF_PP; //复用推挽输出
GPIO_Initure.Pull=GPIO_PULLUP; //上拉
GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH; //高速
HAL_GPIO_Init(GPIOB,&GPIO_Initure);
}
2.初始化并设置对应的PWM
占空比为100/500 = 20%
void PWM_Init()
{
TIM_HandleTypeDef TIM4_Handler; //定时器句柄
TIM4_Handler.Instance=TIM4;