- #define rotate_apain(2)
- #define rotate_bpain(3)
- s16 data=0;
- void exti2_irqhandler(void)
- {
- if(exti_getitstatus(exti_line2) != reset)
- {
- if(rotate_a!=rotate_b)
- {
- data ;
- }
- elsedata--;
- exti_clearitpendingbit(exti_line2);
- }
- }
- void main(void)
- {
- systeminit();
- delay_init(72);
- nvic_configuration();
- key_init();
- while(1)
- {
- ;
- }
- }

大家可以观察图片,当顺时针时,a下降沿时, a!=b;当逆时针时,a下降沿时,a=b,从而来判断顺时针,还是逆时针。而且这样实现简单,只要一个中断就行了。其实我在别的地方看的思路,然后复制过来改的。如果遇到ab 输出的编码器,大家可以参考下啊。有问题可以提出来,互相学习啊、




热门文章

