基于stm8的EC11旋转编码器的应用

2019-12-26 18:54发布

新人不会,请大神帮忙,写一个C语言程序
6条回答
xydang
1楼 · 2019-12-27 12:42.采纳回答
貌似要加电容滤波,那个会有抖动
然后同时检测A上升沿跟下降沿,这样处理比较好:
void ec11_int_handler(void)
{
        if(gpio_read_pin(GPIO_A,PIN_12)){
                if(tmp != gpio_read_pin(GPIO_A,PIN_11)){
                        if(gpio_read_pin(GPIO_A,PIN_11))
                                value-=1;
                        else
                                value+=1;
                        printf("%d ",value);
                }
        }else{
                tmp = gpio_read_pin(GPIO_A,PIN_11);
        }
}
yukaigogogo
2楼-- · 2019-12-27 00:17
我在想是否可以接到定时器的编码器功能上去用。和增量编码器类似AB相输入,直接可以读寄存器里的脉冲数了。
hero245
3楼-- · 2019-12-27 03:14
最简单就是用中断,检测A相下降沿中断,再看B的电平,高是正转,低是后转。
xiaoseaip
4楼-- · 2019-12-27 08:23
 精彩回答 2  元偷偷看……
gxbltao
5楼-- · 2019-12-27 12:01
我今天调的也是 情况跟四楼一样
不知道你的问题决绝了吗
tiantang46800
6楼-- · 2019-12-27 15:09
mark!!!!

一周热门 更多>