F407编码器库函数版本

2019-07-20 00:32发布

新手自己做任务  用F407库函数版本,配一个编码器的程序,有在做的么?分享一下
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
我就是我宝
2019-07-20 03:33
void TIM3_Configuration(void)  

GPIO_InitTypeDef GPIO_InitStructure; 
TIM_ICInitTypeDef TIM_ICInitStructure; 
TIM_TimeBaseInitTypeDef TIM_BaseInitStructure; 

GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_TIM3);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_TIM3); 

GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_6|GPIO_Pin_7; 
GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF; 
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP ; 
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; 
GPIO_Init(GPIOA, &GPIO_InitStructure); 

// TIM_DeInit(TIM3);  
TIM_BaseInitStructure.TIM_Period = 600;  
TIM_BaseInitStructure.TIM_Prescaler =0;    
TIM_BaseInitStructure.TIM_ClockDivision = 0;    
TIM_BaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; 
TIM_TimeBaseInit(TIM3, &TIM_BaseInitStructure);

TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Falling, TIM_ICPolarity_Falling);  
TIM_ICStructInit(&TIM_ICInitStructure); 
TIM_ICInitStructure.TIM_ICFilter=6; 
TIM_ICInit(TIM3,&TIM_ICInitStructure); 
TIM_ClearFlag(TIM3, TIM_FLAG_Update);  
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);    
// TIM_SetCounter(TIM3,0);
TIM_Cmd(TIM3, ENABLE); 



if(TIM_GetITStatus(TIM3, TIM_IT_Update) !=RESET) 

TIM_ClearFlag(TIM3, TIM_FLAG_Update); 
m=m+1; 
//  USART_OUT(USART1,"转的圈数%d ",m); 
//  if(TIM_GetCounter(TIM3)>=100); 
//  { 
//  USART_OUT(USART1,"正转 ");
//  } 
//  if(TIM_GetCounter(TIM3)<100); 
//  { 
//  USART_OUT(USART1,"反转 ");
//  } 
  USART_OUT(USART1,"%d ",TIM_GetCounter(TIM3)); 
}

一周热门 更多>