标题: stm32f407zgt6舵机控制 [打印本页]

作者: 快乐小猫    时间: 2020-3-25 16:08
标题: stm32f407zgt6舵机控制
void TIM4_PWM_Init(u32 arr,u32 psc)
{
  GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;           //GPIOB6
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;        
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;   
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;      ­
GPIO_Init(GPIOB,&GPIO_InitStructure);   

GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_TIM4);

TIM_TimeBaseStructure.TIM_Prescaler=psc
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up
TIM_TimeBaseStructure.TIM_Period=arr;
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_RepetitionCounter=0;
TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure);

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse=50;
TIM_OC1Init(TIM4,&TIM_OCInitStructure);

TIM_OC1PreloadConfig(TIM4,TIM_OCPreload_Enable);

  TIM_ARRPreloadConfig(TIM4,ENABLE)

TIM_Cmd(TIM4,ENABLE);
}

int main(void)
{  
delay_init(168);
uart_init(115200)
  TIM4_PWM_Init(2000-1,840-1);      
  while(1)
{
   delay_ms(500);  
   TIM_SetCompare1(TIM4,250);
    delay_ms(500);
  TIM_SetCompare1(TIM4,200);
  delay_ms(500);  
   TIM_SetCompare1(TIM4,150);
    delay_ms(500);
  TIM_SetCompare1(TIM4,100);
  delay_ms(500);  
   TIM_SetCompare1(TIM4,50);
}
}




作者: admin    时间: 2020-3-28 15:54
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1