一、旋转编码器模块分析与使用
一、旋转编码器说明
该模块配合定时器的encoder使用时,可通过旋转来进行调整记录编码的数值。(通过旋转编码器的数值与字母建立对应关系,即可进行打字编码)
引脚说明:
vcc,gnd,供电使用
sw,相当于按键io
clk 相当于a脉冲
dt 相当b脉冲
原理:通过记录a和b两段脉冲之间的脉冲差来进行脉冲计数。
在cubemx上配置
二、编辑使用:
HAL_TIM_Encoder_Start(&htimx,TIM_CHANNEL_ALL);//用来开启encoder
uint16_t count=0;
count=__HAL_TIM_GET_COUNTER(&htimx);//获取记录的脉冲计数值
printf("count %d \n",count);
if(count>20)//将脉冲计数锁死在20,即不超过20
{
count=20;
__HAL_TIM_SET_COUNTER(&htim5,20);//设置脉冲计数值
}