开发板是万利的那个带有ST-Link2的199开发板 STM3210B-LK1
上面有一块STM32F103VBT6,这个片子有128K的Flash,20K的RAM
开发板上面可以用到的资源
·1 个LCD 显示,通过跳线选择连接LCD
·四个LED 发光管
·一个五方向输入摇杆
·两个GPIO 按键
可惜那个LCD是米字的LCD,如果是点阵的话,就可以在它上面画图了
不过不要紧,我之前做了一个OLed显示的小东西http://blog.ednchina.com/lxyppc/725361/message.aspx
在调试它的UI的时候我把开发板虚拟成了一个USB设备,并将数据以摄像头的格式发送上来,这样我就可以在电脑上直接调试了。
受此思路影响,只需要将游戏图像数据转换成摄像头数据发送上来,这样就解决了没有显示屏的问题,实际上把电脑显示器当成了显示屏。
最后我将这块开发板虚拟成了一个USB摄像头和一个USB鼠标,不玩游戏的时候可做鼠标用。游戏的时候画面通过摄像头传到电脑上来。
未来计划:
拆解一个USB的游戏手柄,将里面的主控芯片换成STM32,在实现手柄所有功能的同时,虚拟出一个摄像头设备让游戏手柄变成“游戏”手柄。
现在已经成功虚拟出了一个摄像头和一个鼠标设备,剩下来要做的只需要考虑在硬件上怎样改造手柄。
Hex文件下载 https://static.assets-stash.eet-china.com/album/old-resources/2010/3/28/06e6dadb-085d-4b76-a832-551890e9888d.zip
直接下载到万利199元的开发板中,然后重新插拔一次USB线。
会发现一个USB摄像头,和一个USB鼠标。未打开摄像头时可当鼠标使用,打开摄像头后即可开始游戏。关闭摄像头游戏自动暂停。
资源使用情况
9 568 bytes of CODE memory
4 855 bytes of DATA memory
34 646 bytes of CONST memory
游戏说明:
当USB摄像头没有打开时:五方向输入摇杆控制鼠标的上下左右,KEY2为鼠标左键,KEY3为鼠标右键
当USB摄像头打开时:左右键移动方块,向上旋转方块,向下方块快速下落,KEY2为开始/暂停
工程源代码在Google Code上
http://code.google.com/p/lxyppc-tetrix/
SVN CheckOut地址(read Only):
http://lxyppc-tetrix.googlecode.com/svn/trunk
游戏“快照”
用户377235 2012-7-28 13:09
这都能想到 发虚拟视频 厉害厉害
tengjingshu_112148725 2010-4-9 00:31