STM32定时器的正交解码模式多用于检测电机的编码器脉冲数做闭环控制,如PID。本文简单介绍一下定时器在Cubemx如何配置以及程序引用到的API函数。
1、硬件:
2、软件:
1、配置RCC——选着外部时钟源

2、配置SYS—— Serial Wire模式

3、时钟树拉满72M

4、配置串口1

5.编码器模式配置

6.生成工程
略
可以参考:STM32系列(HAL库) ——使用串口打印的3种方式,推荐第二种方法。
①在while(1)循环前添加初始化
- uint16_t Count=0;
- uint16_t Diretion=0;
- HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL);
②在whlie(1)循环中打印方向和计数值
- Diretion = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim2);
- Count = __HAL_TIM_GET_COUNTER(&htim2);
- printf("转动方向:%d 脉冲数:%d \r\n",Diretion,Count );
- HAL_delay(500);
