'
很好,加一个电容,程序就简单至极了,正可谓:软硬兼施!
'
其时我还是喜欢不用电容,用软件消抖,这样成本低啊。而且,编码器的质量也有差别,如果碰到质量差一些的,可能104的电容也不太好用了。
这个帖子的主要目的是让没做过编码器解码的朋友了解一下旋转编码器的解码算法。
当然,这并不是唯一的方法,而且不一定会是最好的方法。这个方法有他的缺点:
1、占用了一个硬件中断。
2、电路安装过程中,如果没接在中断上那条信号线对地或电源短路,那么你会发现无论你向哪个方向转动编码器,程序都是认为向一个方向转的。不是什么大毛病,但在实际应用中我已经碰到过这个问题了。
3、其他。。。
优点也是明显的:
1、CPU占用低。
2、可以减小干扰。你可以只在需要检测编码器时才打开这个中断,打开后等着就行了,不用去查询。不需要检测编码器时关闭这个中断,干扰会减小。
3、程序代码量少。逻辑错误产生的可能性会更小些。
4、由于使用了硬件中断,那么CPU空闲时可以让CPU进入低功耗状态,省电!只要一转编码器,就会自动退出省电状态,CPU正常运行。(注意:这个优点不能和第2条同时使用哟)