简单旋钮编码开关—机械型
昨天单片机项目更换旋钮编码器:之前使用6脚编码器,1pin电源,5pin编码,编码值范围为0-31,由于有绝对编码值,调试十分简单好用;现在换成机械型AB信号旋转编码器,调试过程中遇到点问题,记录如下:
机械型旋钮编码器介绍
除了电源和地,有A和B两个信号脚,旋转时,AB输出脉冲信号,左旋时A信号超前B信号90度,右旋时B信号超前A信号90度。
识别转动主要代码
//把A脚配置输入中断,下降沿触发
CODE_A:读取A叫状态,不转时高电平输出
CODE_B:读取B脚状态,不转时高电平输出
//A脚中断函数中
void EXTI3_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line3) != RESET)//EXTI_Line3根据A脚连接到单片机的引脚而定
{
EXTI_ClearITPendingBit(EXTI_Line3);
//这段代码很重要,为了消除抖动和杂波信号</