【HAL库&CubeMX】3-CubeMX TIM 配置编码器

推荐参考文章:【CubeMX配置STM32使用360°旋转编码器(KY-040)】

用于配置如图编码器或者编码电机:

 

CubeMX中,选择编码器模式

 

CubeMX 配置定时器时基的时候,出现如下选项:

 

成员变量AutoReloadPreload的取值范围

TIM_AUTORELOAD_PRELOAD_DISABLE 预装载功能关闭
TIM_AUTORELOAD_PRELOAD_ENABLE 预装载功能开启
  1. 用于设置自动重载寄存器TIMx_ARR的预装载功能,即自动重装寄存器的内容是更新事件产生时写入有效,还是立即写入有效;
  2. 预装载功能在多个定时器同时输出信号时比较有用,可以确保多个定时器的输出信号在同一个时刻变化,实现同步输出;
  3. 单个定时器输出时,一般不开启预装载功能。

编码器为输入捕获功能,因此不开启该功能。

 

CubeMX只是生成了底层代码,定时器的开启还需要自己开启:

1   /* USER CODE BEGIN TIM1_Init 2 */
2     
3     HAL_TIM_Encoder_Start(&htim1,TIM_CHANNEL_ALL);
4   /* USER CODE END TIM1_Init 2 */
1   /* USER CODE BEGIN TIM2_Init 2 */
2     //开启中断
3   HAL_TIM_Base_Start_IT(&htim2);
4   /* USER CODE END TIM2_Init 2 */

 

 

参考资料

https://www.elecfans.com/d/2218529.html

posted @ 2023-06-30 16:16  FBshark  阅读(825)  评论(0)    收藏  举报