久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 最精簡的stm32編碼器程序

最精簡的stm32編碼器程序

作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
  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. }




大家可以觀察圖片,當(dāng)順時針時,A下降沿時, A!=B;當(dāng)逆時針時,A下降沿時,A=B,從而來判斷順時針,還是逆時針。而且這樣實現(xiàn)簡單,只要一個中斷就行了。其實我在別的地方看的思路,然后復(fù)制過來改的。如果遇到AB 輸出的編碼器,大家可以參考下啊。有問題可以提出來,互相學(xué)習(xí)啊、


關(guān)鍵詞: stm32編碼器程

評論


技術(shù)專區(qū)

關(guān)閉