新手上路
- 积分
- 29
- 金钱
- 29
- 注册时间
- 2016-3-13
- 在线时间
- 5 小时
|
1金钱
extern u8 PS2_DATA_BUF[16]; //ps2数据缓存区
void Mouse_Data_Pro(void) {
MouseX.x_pos+=(signed char)PS2_DATA_BUF[1];
MouseX.y_pos+=(signed char)PS2_DATA_BUF[2];
MouseX.z_pos+=(signed char)PS2_DATA_BUF[3];
MouseX.bt_mask=PS2_DATA_BUF[0]&0X07;//取出掩码
}
file:///C:\Users\HP\AppData\Roaming\Tencent\Users\2273849819\QQ\WinTemp\RichOle\0BGY5`KPZMB3SZ{]{}HO0R5.png
想问一下有没有人知道PS2_DATA_BUF[1]中的补码强制数据转换后的数是不是正数?如果是正数,MouseX.x_pos+=(signed char)PS2_DATA_BUF[1]就一直会是正数,为毛给个short类型,还有图片上调试界面的x_pos为啥大的离谱(short不是+-32767吗,图上5W多)
|
最佳答案
查看完整内容[请看2#楼]
这个你根据自己需要修改就好了,鼠标是个相对定位的东西,以每次停止的位置为原点的。你自己需要构建一个大的map!!
|