Stm32定时器+PWM
以timer3为例,周期1KHz,1ms void time3_init(void) { TIM_TimeBaseInitTypeDef TIM_INIT; NVIC_InitTypeDef NVIC_INIT; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); // TIM_Period =(时钟频率 / 周期) - 1 TIM_INIT.TIM_Period = (42000000 / 1000) - 1; TIM_INIT.TIM_Prescaler = 0; TIM_INIT.TIM_CounterMode = TIM_CounterMode_Up; TIM_INIT.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInit(TIM3,&TIM_INIT); TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); NVIC_INIT.NVIC_IRQChannel=TIM3_IRQn; NVIC_INIT.NVIC_IRQChannelPreemptionPriority=1; NVIC_INIT.NVIC_IRQChannelSubPriority=1; NVIC_INIT.NVIC_IRQChannelCmd=ENABLE; NVIC_Init