求单片机C程序,判断旋转编码器正转和反转,以及转数

求单片机C程序,判断旋转编码器正转和反转,以及转数,第1张

旋转编码器一般输出3路信号ABZ,AB相位差是90°

将A接到中断。当A下降沿时:B为高就是正转一步,B为低则是反转一步。

转速可以用若干步用的时间进行计算。

不管前面有没有if else 什么的,只要两处代码都是if(b==0)那就足以肯定做的是一样的判断,你不过是嵌套了判断而已,结果还是做同样的判断,

真搞笑啊,还说我没理解,我确实无法理解做同样的判断有何意义,

“else已经说明现在的状态和上一个if状态相反了”既然已经相反了,那b肯定就不等于0了,你再跟一句if(b==0)绝对不会为真的

aup0: if(a==0)

{

if(b==0)//和下面的条件是一样的

{

if(b==0)

{

goto aup0

}

else

goto subbdisplay0

}

else

if(b==0)//和上面的条件是一样的

/////////////////////////////////////////////////////////////

goto adddisplay0

}

else

if(b==0)//和下面的条件是一样的

{

if(b==0)

{

goto adow0

}

else

goto adddisplay0

}

else

if(b==0)//和上面的条件是一样的

{

goto subbdisplay0

}

else

goto adow0


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11087235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存