标题:
分享一个鼠标旋转编码器的代码,EC11应该是一样的
[打印本页]
作者:
罗文杰
时间:
2021-1-25 22:19
标题:
分享一个鼠标旋转编码器的代码,EC11应该是一样的
#define WHEEL_DATA_A_GPIO P10 //输入上拉
#define WHEEL_DATA_B_GPIO P11 //输入上拉
u8 Wheel; //旋转的脉冲数,读取后清0
void mouse_Wheel_Check(void) //放在主循环即可
{
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
时间:
2021-1-26 08:58
学习了。正想利用鼠标。
作者:
chaoge131
时间:
2021-3-11 11:29
这样写,有做抖动处理吗
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1