STM32编码器TIM_EncoderInterfaceConfig函数参数

我是一个刚学STM32小灰,最近在制作平衡车,在编写编码器相关程序的时候碰到了一个问题:TIM_EncoderInterfaceConfig(TIM_TypeDef* TIMx, uint16_t TIM_EncoderMode,  uint16_t TIM_IC1Polarity, uint16_t TIM_IC2Polarity)的参数问题

TIM_TypeDef* TIMx选择定时器

uint16_t TIM_EncoderMode(TIM_EncoderMode_TI1,TIM_EncoderMode_TI2,TIM_EncoderMode_TI12):选择单边计数还是双边计数

uint16_t TIM_IC1Polarity(TIM_ICPolarity_Rising,TIM_ICPolarity_Falling,TIM_ICPolarity_BothEdge)

uint16_t TIM_IC2Polarity(同上)

问题就是出在TIM_EncoderInterfaceConfig函数的二三参数上。

stm32可以选择编码器四倍频,当时自己就很困惑TIM_EncoderMode_TI12、TIM_ICPolarity_BothEdge

然后做了一个实验关于各种参数的配置:

配置:tim3作为编码器计数(TIM_Period = 0xFFFF、TIM_Prescaler = 0x0),tim4作为定时器(TIM_Period = 7199、TIM_Prescaler = 9999)

过程:tim4进中断通过串口将tim的计数值发送到电脑

数据如下:

 

 

posted on 2019-09-26 09:43  IdelMan  阅读(2412)  评论(0)    收藏  举报

导航