前提:编码开关(半圈)的稳定状态(即拧一格到稳定)只有两种:A、B脚电平为1、1或0、0;
需求:如何判断顺时针转还是逆时针转;
原理:见下图(灵魂画法,将就着看)
A、B脚初始电平为0、0时,编码器状态:
A、B脚初始电平为1、1时,编码器状态:
重点在于,A脚电平变化(无论是由1变成0还是由0变成1),读B脚状态;(注:A脚的变化可以用中断或轮询检测)
如果当A=1,B=0时,顺时针旋转;
如果当A=0,B=1时,顺时针旋转;
如果当A=1,B=1时,逆时针旋转;
如果当A=0,B=0时,逆时针旋转;
轮询简单代码如下: