[C语言] 分享一个旋转编码器的编程使用方法

[复制链接]
2706|4
 楼主| stayeagle 发表于 2015-12-9 18:13 | 显示全部楼层 |阅读模式
刚入音响这行,就被要求使用旋转编码器,之前都没接触过,所以就去网上找了大量资料,结果好像没找我满意的程序,基本都用上定时或中断的,但我单片机的资源又有限,所以不想用那么复杂,所以还是决定好好研究一下
首先,在编码器上面接上几个LED观察引脚电平的变化顺序,我的正转的时候是11-00-01-11,反转的时候是11-01-00-11,所以区别就是在于中间两个状态
那么我先用两个位定义VA和VB记录当前的状态
中间保证有大概100ms的延时
然后再判断这两个引脚的状态,如果变成00了,只要判断VA和VB的值就可以知道是正转还是反转了
如果是11就是正转,如果是01就是反转

然后中间延时的那部分,我不是用延时程序,而是靠执行其他程序来制造延时,比如显示、红外处理什么,提高程序的效率
经过试验呢,中间的延时是很有必要的,不然会有很多误码
大家也可以试试,这是我自己想出来的办法,别喷哈~~
lxa0 发表于 2018-1-15 15:34 | 显示全部楼层
楼主完成了吗?

评论

三年了,应该完成了吧  发表于 2018-1-18 10:50
mailshichao 发表于 2018-1-16 16:01 | 显示全部楼层
这帖子还翻出来了
lxa0 发表于 2018-1-23 23:43 | 显示全部楼层
楼主完成后请上代码看看?
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

1

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