本帖最后由 apple5555 于 2017-2-10 16:28 编辑
一开始找了不少USB鼠标,键盘例子代码,HID描述详解,当自己要写出多点触摸屏的HID报告描述时就蒙了,资料相当地少。
经过几天的各种摸爬滚打,终于把STM32F103C8的USB被电脑识别出多点触摸设备,现在又被一个问题卡住,发现发送触摸的X,Y坐标要用某种算法算出来的才行,比如我的笔记本屏幕分辨率是1366×768,我发送屏幕坐标(788,381),十六进制(0x0314, 0x17d),直接发送这两个数据是不对的,实际上要发送(0x4a33, 0x3f81)才是正确的,我才发现它是有某种算法,但我网上找不到这个算法的原型,但我能猜到其中一半,比如我发送0x0100, 0x0000,反映在屏幕坐标是(9,0),我猜屏幕X坐标是由1366 / 0x7f * 0x01计算得来的,但如果要触点在(13,0)位置,就不知道怎么计算了。我理解为这种算法是为了让触摸屏兼容所有不同尺寸的显示屏而设计的,网上没找到这部分资料,所以我想把问题挂上去碰碰运气。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
STM32 发送X值范围 反映在屏幕的X坐标值 相差
0x0100-0x0107 9 7
0x0108-0x011f 10 23
0x0120-0x0137 11 23
0x0138-0x014f 12 23
这组数据反映的,跟我所想的计算公式有误差,不理解这误差代表什么意思
一周热门 更多>