求大神看看程序对不对

2019-07-20 13:28发布

void TIM3_PWM_Init(u16 arr,u16 psc)
{
    TIM3_Handler.Instance=TIM3;           
    TIM3_Handler.Init.Prescaler=psc;      
    TIM3_Handler.Init.CounterMode=TIM_COUNTERMODE_UP;
    TIM3_Handler.Init.Period=arr;         
    TIM3_Handler.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;
    HAL_TIM_PWM_Init(&TIM3_Handler);      

    TIM3_CH4Handler.OCMode=TIM_OCMODE_PWM1;
    TIM3_CH4Handler.Pulse=arr/2;            
    TIM3_CH4Handler.OCPolarity=TIM_OCPOLARITY_LOW;
    HAL_TIM_PWM_ConfigChannel(&TIM3_Handler,&TIM3_CH4Handler,TIM_CHANNEL_4);
    HAL_TIM_PWM_Start(&TIM3_Handler,TIM_CHANNEL_4);
}
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
{
    GPIO_InitTypeDef GPIO_Initure;
        __HAL_RCC_TIM3_CLK_ENABLE();                       
    __HAL_RCC_GPIOB_CLK_ENABLE();                       
       
    GPIO_Initure.Pin=GPIO_PIN_1;                  
    GPIO_Initure.Mode=GPIO_MODE_AF_PP;         
    GPIO_Initure.Pull=GPIO_PULLUP;         
    GPIO_Initure.Speed=GPIO_SPEED_HIGH;     
                GPIO_Initure.Alternate=GPIO_AF2_TIM3;       
    HAL_GPIO_Init(GPIOB,&GPIO_Initure);
}


    TIM3_PWM_Init(20000-1,108-1);     
产生一个50hz的PWM,用来控制舵机的,但是舵机不动

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
lkposible4
1楼-- · 2019-07-20 16:15
库函数好像和我的不太一样,检查一下有没有使能时钟,包括定时器和输出口的。
yang0011102
2楼-- · 2019-07-20 16:55
lkposible4 发表于 2017-7-7 16:29
库函数好像和我的不太一样,检查一下有没有使能时钟,包括定时器和输出口的。

有的,用的F7,PB1挂了个灯,灯也有亮灭变化
lkposible4
3楼-- · 2019-07-20 18:24
 精彩回答 2  元偷偷看……

一周热门 更多>