[其他ST产品] 【STM32】HAL库 旋转编码器计数

[复制链接]
1669|2
 楼主| lvuu 发表于 2024-1-31 11:32 | 显示全部楼层 |阅读模式
前言

使用EC11旋转编码器计次

一、EC11旋转编码器

8859865b9bf49c7e43.png

当A项下降沿时触发中断,判断B项的电平是低电平,为顺时针
当B项下降沿时触发中断,判断A项的电平是低电平,为逆时针

 楼主| lvuu 发表于 2024-1-31 11:33 | 显示全部楼层
STM32CubeMX设置

8709065b9bf638a329.png

5276165b9bf6b9e2ca.png
 楼主| lvuu 发表于 2024-1-31 11:33 | 显示全部楼层
代码

int16_t Encoder_Count;

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
        if(GPIO_Pin == GPIO_PIN_0)
        {
                                if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_1) == GPIO_PIN_RESET)
                        {
                                        printf("Encoder_Count:%u\r\n",--Encoder_Count);
                        }
        }
        if(GPIO_Pin == GPIO_PIN_1)
        {
                                if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_0) == GPIO_PIN_RESET)
                        {
                                        printf("Encoder_Count:%u\r\n",++Encoder_Count);
                        }
        }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

651

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部