最近在做直流有刷电机的驱动,使用到STM32高级定时器TIM1的通道1和互补通道,电机的驱动模式采用单极模式,即驱动信号为1路的PWM,一路高电平,且这两种信号通过按钮可以交替实现电机的转向。
下面是定时器的代码,输出波形时有点干扰,不过可以用。希望大佬们可以指点或探讨一下编程配置。
void My_TIM1_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_BDTRInitTypeDef TIM_BDTRInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); //
TIM_TimeBaseStructure.TIM_Period =999; //
TIM_TimeBaseStructure.TIM_Prescaler =7199; //
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TI