增量式编码器的疑问

2020-01-23 14:49发布

大神们帮我看看这段代码是什么意思?用的是51系列的stc11单片机,编码器的A,B接口接P3^2,P3^3.这个是如何判断正反转的?
temp=(P3&0x0C)<<4;//编码器//0000 --00<<4=--00 0000
temp1=encoder.status&0xC0;//--00 0000//该位是结构体中的编码器状态位,判断正反转


if(temp1!=temp)
{
encoder.status=(encoder.status>>2)+temp;// 00-- 0000
                                       //+ --00 0000=---- 0000

if(encoder.status==0x4B)//0100 1011
{
encoder.minus++;//
}
else if(encoder.status==0x87)//1000 0110
{
encoder.plus++;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
zddvszw
1楼-- · 2020-01-23 19:22
期待解决
sgzzour
2楼-- · 2020-01-23 22:33
楼主明白正交编码器相位差的问题么?
zddvszw
3楼-- · 2020-01-24 00:12
sgzzour 发表于 2013-12-17 22:59
楼主明白正交编码器相位差的问题么?

现在已经明白了,呵呵。谢谢啊。你有做过stm32F0的正交编码器吗?有资料的话分享一点给我罗
sgzzour
4楼-- · 2020-01-24 03:41
 精彩回答 2  元偷偷看……
zddvszw
5楼-- · 2020-01-24 05:41
sgzzour 发表于 2013-12-18 12:19
做过STM32F103和51的,F0没做过。

和STM32F103是一样的。比如我用定时器3的正交编码器的功能,是先设置好编码器模式,然后就在中断中去写相应的操作吗?
zjk
6楼-- · 2020-01-24 07:46
LZ这个采集的脉冲会漏掉么?

一周热门 更多>