OpenEdv-开源电子网

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

编码器正转和反转数出的脉冲数竟然不一样,求指导!谢谢

[复制链接]

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
发表于 2019-8-3 19:26:21 | 显示全部楼层 |阅读模式
将AB两相接入到TIMER两通道外,还分别接入外部中断,通过判断void EXTI1_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line1) != RESET)
  {
      EXTI_ClearITPendingBit(EXTI_Line1);     
      if((TIM3->CR1 & TIM_CounterMode_Up) == TIM_CounterMode_Up)
                        {                                       
                                 if((TIM3->CR1 & TIM_CounterMode_Down) == TIM_CounterMode_Down);
                                  else
                                        cnt++;
      }       
               
  }
}

void EXTI0_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line0) != RESET)
  {
      EXTI_ClearITPendingBit(EXTI_Line0);   
      if((TIM3->CR1 & TIM_CounterMode_Down) == TIM_CounterMode_Down)
     {
        cnt--;
      }                               
  }  
}来实现判断旋转方向,但是发现正转和反转一圈的脉冲数竟然不一样,附上代码,希望大家帮忙看看。还有没有什么好办法来实现编码判断方向啊??



编码器源码.rar

2.58 MB, 下载次数: 31

源码

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

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-8-3 19:58:09 | 显示全部楼层
编码器模式自带方向呀
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2014-8-4
在线时间
35 小时
 楼主| 发表于 2019-8-3 20:37:05 来自手机 | 显示全部楼层
能给详细讲讲吗
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2018-11-1
在线时间
23 小时
发表于 2019-8-4 00:55:03 | 显示全部楼层
我正反转圈数也不一样,请问你解决了吗?怎么解决的?
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-8-9
在线时间
19 小时
发表于 2019-8-6 16:55:07 | 显示全部楼层
nashui_sx 发表于 2019-8-3 19:58
编码器模式自带方向呀

你好,我想请问一下编码器模式的方向是由接线决定的吗?如果方向是固定的话,如果我一开始就往反方向转,计数器会从0变成最大值然后往反方向减吗?如果一直往后转计数器减到0会溢出吗?我自己试了下设置当脉冲数超过一定值LED就会闪烁,我开头直接往后转它就闪烁了。。。正反转这要如何判断方向呀?新手刚接触想请教一下,谢谢!
回复 支持 反对

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-8-6 18:57:16 | 显示全部楼层
s710618781 发表于 2019-8-6 16:55
你好,我想请问一下编码器模式的方向是由接线决定的吗?如果方向是固定的话,如果我一开始就往反方向转, ...

不管溢出编码器一个方向转数字增大一个方向数字减小,不就是方向?
溢出的时候一般是判断当前值与最大值一半的大小来判断上溢出 还是下溢出
回复 支持 反对

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-8-9
在线时间
19 小时
发表于 2019-8-7 08:58:03 | 显示全部楼层
nashui_sx 发表于 2019-8-6 18:57
不管溢出编码器一个方向转数字增大一个方向数字减小,不就是方向?
溢出的时候一般是判断当前值与最大值 ...

谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-2 20:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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