让Windows自动为你的设备安装串口鼠标驱动
偶然发现,如果你想自己做一些好玩的PC辅助设备,又不想写底层驱动,甚至
不愿意用SendMessage控制鼠标,那么你还有一条路可以走,就是让Windows自动为你的设备安装串口鼠标驱动。
我做了个单片机系统,带USB转串口,今天,我在单片机运行着向串口发数据的
程序时,将其USB插入PC上一个以前未曾安装过USB转串口驱动的USB口,有意思的事情发生了,Windows自动为我的单片机安装了串口鼠标驱动,我的鼠标
开始满屏幕乱跑,还不时跳出右键菜单。经过重复试验,发现只要满足以下条件,
Windows就会自动为你的设备安装串口鼠标驱动:
, 单片机向串口发送的数据里带“M”
, 将单片机的USB插入PC上一个以前未曾安装过USB转串口驱动的USB口 , 插入时,单片机正不断发送数据,似乎所有的波特率都可以(这点还不明白,
难道系统会自动识别波特率?不然怎样认出“M”)
有了这些东西,只要再知道串口鼠标的命令方式,就完全可以DIY一个只受你想象力限制的PC辅助设备!下面附上鼠标信息发送格式:
, 初始化
: 4DH(’M') 1字节 声明初始化结束 加电时发送一次 , 移动、按钮: P1、P2、P3 3字节 反映按钮状态、移动方向和距离 移动或按钮操作时发送
上述P1、P2、P3三个参数说明:
P1_D7D6固定值01;D1D0=11本次鼠标移动包含左右移动分量;D3D2=11本次鼠标移动包含上下移动分量;D4=1目前鼠标右键呈按下状态;D5=1目前鼠标左键呈按下状态(D4D5=00则键呈释放状态)。
P2_D7D6固定值00;其余六位表示一个有符号二进制数,反映左右移动量,大于
0为向右移动,小于0为向左移动。
P3_D7D6固定值00;其余六位表示一个有符号二进制数,反映上下移动量,大于
0为向下移动,小于0为向上移动。
例如:[6CH 02H 3AH](P1=6CH,P2=02H,P3=3AH)反馈出鼠标向右移动了2个单位,向上移动了6个单位,目前左键按下。
我现在正
着来做个很好玩的东东
? Flash酷站-Formshape
动作感应鼠标开发完成 ?
You’re currently reading “让Windows自动为你的设备安装串口鼠标驱动,”
an entry on E.I.Art
Published:
05.15.06 / 12am
Category:
Hardware, Software
Total Visited: 7566 | Today Visited: 10 | Last Time: 19.06.2009 - 20:42
, 动作感应鼠标的视频
, 基于串口机械鼠标的机器人定位系统
, 微软的机器人:WiMo
, 超声波无线3D鼠标
, 装在肥皂盒中的鼠标
, 自制RS232接口的摩尔斯电码收发器
, 给鼠标加个LCD
, AVR的简单USB接口方案
, 自制USB接口的操纵杆
, “指”标
Jump to comment form | comments rss [?] | trackback uri [?]
1. 1
Last ? Blog Archive ? 基于串口机械鼠标的机器人定位系统 Says:
September 6th, 2006 at 10:26 pm
[...] 主要是一个定标问题很麻烦,要先测一下鼠标走一个单位距离发多
少个脉冲,这个标准在不同的路面和使用时间都是不同的,也就是误差的
主要来源。具体的串口机械鼠标
,请看:《让Windows自动为你的设
备安装串口鼠标驱动》,补充一下,波特率一般是1200,可以先接在电
脑上测试看看。由于我的单片机只有8Kflash,没地方尝试软件校正系统
了,不知道又没有可行性,但如果是拿来玩的话,基于串口机械鼠标的机
器人定位系统是那些不能安装编码轮的机器人的一种不错的定位方案。 [...]
2.
2
皮皮 Says:
September 23rd, 2006 at 1:10 pm
其实这是Windows PnP标准里定义的.你可以看看Windows RS232 Pnp标准.随插既用