×
嵌入式 > 嵌入式开发 > 详情

最精简的stm32编码器程序

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




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


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

热门文章 更多
五大标准轻松搞定4K超高清电视选购