stm32定时器控制

stm32f103zet6同时控制高级定时器tim8和通用定时器tim5输出pwm波,控制tim8的ch2和ch4单个引脚输出pwm时,ch1和ch3始终输出高电平,请问怎样解决?


```c
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure; 
    TIM_OCInitTypeDef  TIM_OCInitStructure;
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5, ENABLE); // 
  TIM_TimeBaseStructure.TIM_Period = 10000-1; 
    TIM_TimeBaseStructure.TIM_Prescaler = 10000; 
    TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
    TIM_TimeBaseInit(TIM5, &TIM_TimeBaseStructure); 
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; 
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; 
    TIM_OCInitStructure.TIM_Pulse = 9999; 
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; 
    TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
    TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
    TIM_OC1Init(TIM5, &TIM_OCInitStructure);  //
    TIM_OC2Init(TIM5, &TIM_OCInitStructure);  //
    TIM_Cmd(TIM5, DISABLE);




  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure; 
    TIM_OCInitTypeDef  TIM_OCInitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM8, ENABLE); // 
  TIM_TimeBaseStructure.TIM_Period =10000-1; 
    TIM_TimeBaseStructure.TIM_Prescaler = 10000; 
    TIM_TimeBaseStructure.TIM_ClockDivision = 0; 
    TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
    TIM_TimeBaseInit(TIM8, &TIM_TimeBaseStructure); 
    TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; 
    TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; 
    TIM_OCInitStructure.TIM_Pulse = 9999; 
    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; 
    TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
    TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
    TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
    TIM_OC1Init(TIM8, &TIM_OCInitStructure);  //
    TIM_OC2Init(TIM8, &TIM_OCInitStructure);  //
    TIM_OC3Init(TIM8, &TIM_OCInitStructure);  //
    TIM_OC4Init(TIM8, &TIM_OCInitStructure);  //
    TIM_Cmd(TIM8, DISABLE);

```

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^