OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3197|回复: 1

原子哥ps2鼠标实验问题

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-13
在线时间
5 小时
发表于 2017-2-26 20:12:28 | 显示全部楼层 |阅读模式
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多)
0BGY5`KPZMB3SZ{]{}HO0R5.png

最佳答案

查看完整内容[请看2#楼]

这个你根据自己需要修改就好了,鼠标是个相对定位的东西,以每次停止的位置为原点的。你自己需要构建一个大的map!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165558
金钱
165558
注册时间
2010-12-1
在线时间
2118 小时
发表于 2017-2-26 20:12:29 | 显示全部楼层
这个你根据自己需要修改就好了,鼠标是个相对定位的东西,以每次停止的位置为原点的。你自己需要构建一个大的map!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-23 19:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表