新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 最精簡的stm32編碼器程序

        最精簡的stm32編碼器程序

        作者: 時間:2016-11-10 來源:網絡 收藏
        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 輸出的編碼器,大家可以參考下啊。有問題可以提出來,互相學習啊、


        關鍵詞: stm32編碼器程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 阿瓦提县| 栾城县| 平顶山市| 巫山县| 贺兰县| 电白县| 黄大仙区| 江门市| 大足县| 尼勒克县| 松潘县| 道孚县| 郴州市| 陆丰市| 洪江市| 屏山县| 金阳县| 濮阳县| 德兴市| 林西县| 丰宁| 石渠县| 阳山县| 红桥区| 凤庆县| 德化县| 和平区| 从化市| 宁安市| 张家界市| 武宣县| 太谷县| 桂阳县| 都兰县| 明水县| 樟树市| 贵阳市| 元谋县| 塔河县| 宣城市| 西丰县|