空中鼠标-MSP-EXP430FR5739实验板实现
[复制链接]
玩跑跑卡丁车突发奇想,可不可以用团购来的MSP-EXP430FR5739实验板来控制赛车! 基本思路是这样的,利用EXP430FR5739实验板上的三轴加速度传感器来检测前后左右上下位置信息,利用串口发送到上位机程序,上位机软件是在VS2010下写的MFC程序,利用该程序发送虚拟按键消息给其他应用程序以实现控制。 第一步实现位置信息的检测与发送,有了实验板的例程就方便多了,例程中只有一个轴的信息检测,稍微改动下实现三轴的检测(其实,还是费了点心思,MSP430FR5739貌似只有一个转换结果寄存器,所以我没能实现多通道单次转换,而是用了一个循环,每次配置一个通道的转换,具体见代码),然后串口发上去。 第二步MFC程序的编写,利用ActiveX Control-Microsoft Communication Control来编写串口程序还是很方便的,根据收到的板子发来的不同信号,来决定发送给其他软件的虚拟按键消息。具体发给哪个软件,需要知道该软件的窗口句柄,或者窗口的名字,一般是左上角的标题栏的名字。可以用Spy++软件获得(压缩包里有,SpyLite24.exe)。 第三步测试成果。。不好意思,跑跑车的上下左右键不受控,但是ESC键,F1键什么的受控,估计是跑跑屏蔽了外挂吧。。试了下其他软件,QQ,飞信,VS2010,控制良好。 last,不忍就这样结束,想想是不是可以控制鼠标,查了下,实现并不难,SetCursorPos()函数即可。最后,实现了一个简易的鼠标功能。。左右前后控制鼠标移动,上下控制确定键。 关于如何操作,看下附件里的Readme。
|