標(biāo)題: 分享一個(gè)鼠標(biāo)旋轉(zhuǎn)編碼器的代碼,EC11應(yīng)該是一樣的 [打印本頁]

作者: 羅文杰    時(shí)間: 2021-1-25 22:19
標(biāo)題: 分享一個(gè)鼠標(biāo)旋轉(zhuǎn)編碼器的代碼,EC11應(yīng)該是一樣的
#define WHEEL_DATA_A_GPIO        P10             //輸入上拉
#define WHEEL_DATA_B_GPIO        P11             //輸入上拉
u8 Wheel;                              //旋轉(zhuǎn)的脈沖數(shù),讀取后清0
void mouse_Wheel_Check(void)             //放在主循環(huán)即可
{
        static u8 wheelStateLast = 0;
        static u8 wheelStateBefore = 0;
        static u8 wheelStateNow = 0;
        u8 result = 0;
        u8 tempState = (WHEEL_DATA_A_GPIO << 1)|WHEEL_DATA_B_GPIO;
        if(wheelStateNow == tempState)
        {
                return;
        }
        wheelStateLast = wheelStateBefore;
        wheelStateBefore = wheelStateNow;
        wheelStateNow = tempState;
        result = (wheelStateNow << 4) |(wheelStateBefore << 2) |wheelStateLast;
        switch(result)
        {
                case 0x38:
                case 0x07:
                        Wheel--;
                break;
                case 0x34:
                case 0x0b:
                        Wheel++;
                break;
                default:
                break;
        }
}



作者: qw2229    時(shí)間: 2021-1-26 08:58
學(xué)習(xí)了。正想利用鼠標(biāo)。
作者: chaoge131    時(shí)間: 2021-3-11 11:29
這樣寫,有做抖動(dòng)處理嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1