STM32HAL 旋转编码器教程
配置时钟编码模式读取方法:
if(__HAL_TIM_IS_TIM_COUNTING_DOWN(&htim1) == 0){count -= __HAL_TIM_GET_COUNTER(&htim1);}else{count += __HAL_TIM_GET_COUNTER(&htim1);}bsp_dtUInt32_show(count);__HAL_TIM_SET_COUNTER(&htim1, 0);
通过
__HAL_TIM_IS_TIM_COUNTING_DOWN
获取旋转方向,UP这里0 顺时针,1逆时针
__HAL_TIM_GET_COUNTER
也就是 TIMx->Instance->CNT 计数,每次旋转1-2左右
可以通过__HAL_TIM_SET_COUNTER(&htim1, 0); 重置,进行每次旋转个数判断。
也就是让TIMx->Instance->CNT = 0;