OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2329|回复: 1

编码器怎么调校?

[复制链接]

23

主题

79

帖子

0

精华

高级会员

Rank: 4

积分
607
金钱
607
注册时间
2017-8-8
在线时间
145 小时
发表于 2017-8-29 19:28:59 | 显示全部楼层 |阅读模式
1金钱
   key3flag=key3;key4flag=key4; //key3,key4为编码器两个开关,key3flag和key4flag为存储上一状态

        if(key3!=key3flag||key4!=key4flag)  //发现编码器转动,
{
        if(key3==0&&key4flag==1||key4==1&&key4flag==0)    //向右旋转电平变化的规律
                {
                num++;
                }
else
        {
                num--;         
        }
}
key3flag=key3;key4flag=key4;  //记住旋转之后状态

现在是情况是,向左或向右转动一下,都是走3个数,回一个数,
相当于每次加了2或减了2,
请问要怎么优化一下呢?
要达到每次只走一个数。。。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

156

帖子

0

精华

高级会员

Rank: 4

积分
883
金钱
883
注册时间
2017-8-7
在线时间
200 小时
发表于 2017-8-29 20:44:51 | 显示全部楼层
额  你是通过IO口状态来判断编码器动没动?不是应该用外部中断吗?编码器一个脉冲应该是一个完整的周期,所以判断电平肯定会抓到两次变化,直接判断边沿不行吗?没用过编码器,只是根据理解说一下,说错勿怪
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 04:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表