cubeMX 里面配置,选某定时器 TIM ,比如 TIM3,Combined Channels 里面,选择 Encoder Mode,记住下面 gpio 部分的两个引脚
步骤
修改 board/Kconfig,添加 pulse encoder 相关部分
以下为参考
1 | menuconfig BSP_USING_PULSE_ENCODER |
如果启用的 pulse encoder 不自带,需要手工修改
修改libraries/HAL_Drivers/config/f4/pulse_encoder_config.h
1 |
menuconfig
1 | scons --menuconfig 启用 pulse encoder |
注意
如果发现旋转过程中突然产生了很大的数,需要改一下驱动
libraries/HAL_Drivers/drv_pulse_encoder.c, ,pulse_encoder_init方法内, sConfig.IC1Filter 和 sConfig.IC2Filter 都改成最大 15
但是不能根本解决,根本上解决的话,需要滤波电容。