求用普通I/O口驱动EC11编码器的程序。

2019-08-17 04:15发布

求用普通I/O口驱动EC11编码器的程序。用定时器的太复杂了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
rjx007
1楼-- · 2019-08-17 09:04
没人愿意帮助吗?
正点原子
2楼-- · 2019-08-17 12:52
没有,自己写了
rjx007
3楼-- · 2019-08-17 16:05
 精彩回答 2  元偷偷看……
faiz
4楼-- · 2019-08-17 16:19
rjx007 发表于 2017-7-2 09:37
遗憾,没有人愿意帮忙。
那就再问一句:原来用在51,PIC,AVR单片机上的EC11编码器的程序可以移植到STM32吧 ...

可以的 不过有专门的定时器口可以接编码器
rjx007
5楼-- · 2019-08-17 22:18
本帖最后由 rjx007 于 2017-7-3 15:41 编辑

试了下面的程序,可以用,但是正反转数值都是加,不能减,不知何故?请求帮助。用定时器的觉得太复杂,新手不完全弄的懂。
#define ROTATE_A  PAin(2)
#define ROTATE_B  PAin(3)
s16 DATA=0;

void EXTI2_IRQHandler(void)
{
  if(EXTI_GetITStatus(EXTI_Line2) != RESET)
  {
   delay_us(500);//消抖
    if(ROTATE_A!=ROTATE_B)
     {
        DATA++;   
     }
        else DATA--;
    EXTI_ClearITPendingBit(EXTI_Line2);
  }
}

一周热门 更多>