×
单片机 > 单片机程序设计 > 详情

最精简的stm32编码器程序

发布时间:2020-05-27 发布时间:
|
  1. #define ROTATE_A  PAin(2)
  2. #define ROTATE_B PAin(3)
  3. s16 DATA=0;
  4.  
  5. void EXTI2_IRQHandler(void)
  6. {
  7.   if(EXTI_GetITStatus(EXTI_Line2) != RESET)
  8.   {
  9.     if(ROTATE_A!=ROTATE_B)
  10.      {
  11.         DATA++;    
  12.      }
  13.         else DATA--;
  14.     EXTI_ClearITPendingBit(EXTI_Line2);
  15.   }
  16. }
  17.  
  18.  
  19. void main(void)
  20. {
  21.           SystemInit();
  22.           delay_init(72);
  23.           NVIC_Configuration();
  24.           KEY_Init();
  25.    while(1)
  26.   {
  27.        ;
  28.   }
  29. }




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

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于arm的指纹识别门禁系统是如何设计的