【HAL库&CubeMX】3-CubeMX TIM 配置编码器
推荐参考文章:【CubeMX配置STM32使用360°旋转编码器(KY-040)】
用于配置如图编码器或者编码电机:

CubeMX中,选择编码器模式

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

成员变量AutoReloadPreload的取值范围
| TIM_AUTORELOAD_PRELOAD_DISABLE | 预装载功能关闭 |
|---|---|
| TIM_AUTORELOAD_PRELOAD_ENABLE | 预装载功能开启 |
- 用于设置自动重载寄存器TIMx_ARR的预装载功能,即自动重装寄存器的内容是更新事件产生时写入有效,还是立即写入有效;
- 预装载功能在多个定时器同时输出信号时比较有用,可以确保多个定时器的输出信号在同一个时刻变化,实现同步输出;
- 单个定时器输出时,一般不开启预装载功能。
编码器为输入捕获功能,因此不开启该功能。
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

浙公网安备 33010602011771号