1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 鼠标滚轮/编码器检测- wheel/encoder detect for mouse

鼠标滚轮/编码器检测- wheel/encoder detect for mouse

时间:2022-07-09 18:38:33

相关推荐

鼠标滚轮/编码器检测- wheel/encoder detect for mouse

鼠标滚轮检测固件-2009亲测ok

wheel/encoder原理wheel/encoder示波器实测波形wheel/encoder单片机检测固件

wheel/encoder原理

wheel/encoder示波器实测波形

wheel/encoder单片机检测固件

struct wheel_STR

{

unsigned char same_status_HL; //two state: all high (=1) or low (=2)

unsigned char diff_status; //two state: z1-high,z2-low (=1);z1_low,z2-high (=2);

signed char value;

};

struct wheel_STR wheel;

/*

scan in main loop

*/

void scan_wheel(void)

{

unsigned char z1,z2;

z1 =HAL_GPIO_ReadPin(WHEEL_Z1_PORT, WHEEL_Z1_PIN);//read_wheel_IO1();z2 =HAL_GPIO_ReadPin(WHEEL_Z2_PORT, WHEEL_Z2_PIN);//read_wheel_IO2();if(z1 != z2){ //diffwheel.diff_status =(z1)?2:1;}else{ //sameif(z1){if(wheel.same_status_HL==2){if(wheel.diff_status==1) wheel.value++;else if(wheel.diff_status==2) wheel.value--;}wheel.same_status_HL =1; //all high}else{if(wheel.same_status_HL==1){if(wheel.diff_status==1) wheel.value--;else if(wheel.diff_status==2) wheel.value++;}wheel.same_status_HL =2; //all low }wheel.diff_status =0; //clear change flag!}

}

/*

get the wheel vaule

*/

signed char get_wheel_value(void)

{

signed char tmp;

tmp = wheel.value;

wheel.value=0; //clear the value!

return tmp;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。