STM32 编码器接口测速
假设使用TIM3,两个引脚便是PA6与PA7,分别为CH1与CH2
步骤
第一步,配置RCC开启时钟,开启GPIO和定时器的时钟
第二步,配置GPIO为输入模式
第三步,配置时基单元,不分频,自动重装最大值
第四步,配置输入捕获单元
第五步,配置编码器捕获模式,获取编码器位置需要读取CNT值即可,如果需要获取旋转速度或者方向需要间隔时间取CNT并清零
相关函数
/** |
定时器编码器接口配置
参数:
1、定时器
2、编码器模式
3、4通道接口极性
配置步骤
配置GPIO与定时器RCC开启时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); |
配置GPIO为输入模式
GPIO_InitTypeDef GPIO_InitStructure; |
配置定时器的时基单元
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; |
配置定时器输入捕获单元
TIM_ICInitTypeDef TIM_ICInitStructure; |
配置编码器捕获模式
TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising); |
修改其中一个极性记录的方向反向
开启定时器
TIM_Cmd(TIM3, ENABLE); |
- 标题: STM32 编码器接口测速
- 作者: Kozakemi
- 创建于 : 2023-10-06 22:01:06
- 更新于 : 2024-05-17 13:47:59
- 链接: https://kozakemi.gitlab.io/post/645892e8.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论