編譯環(huán)境IAR 4.42
工程配置說明:
- STM3210E-EVAL 紅牛開發(fā)板使用
- STM3210B-EVAL 萬利199開發(fā)板使用
- STM3210B-HEX 生成萬利開發(fā)板Hex文件
- SIM 程序仿真
- RAM_DEBUG RAM中調試程序
說明:
開發(fā)板是萬利的那個帶有ST-Link2的199開發(fā)板 STM3210B-LK1,上面有一塊STM32F103VBT6,這個片子有128K的Flash,20K的RAM。
開發(fā)板上面可以用到的資源:
可惜那個LCD是米字的LCD,如果是點陣的話,就可以在它上面畫圖了
不過不要緊,我之前做了一個OLed顯示的小東西https://blog.ednchina.com/lxyppc/725361/message.aspx
在調試它的UI的時候我把開發(fā)板虛擬成了一個USB設備,并將數(shù)據(jù)以攝像頭的格式發(fā)送上來,這樣我就可以在電腦上直接調試了。受此思路影響,只需要將游戲圖像數(shù)據(jù)轉換成攝像頭數(shù)據(jù)發(fā)送上來,這樣就解決了沒有顯示屏的問題,實際上把電腦顯示器當成了顯示屏。最后我將這塊開發(fā)板虛擬成了一個USB攝像頭和一個USB鼠標,不玩游戲的時候可做鼠標用。游戲的時候畫面通過攝像頭傳到電腦上來。
未來計劃:
拆解一個USB的游戲手柄,將里面的主控芯片換成STM32,在實現(xiàn)手柄所有功能的同時,虛擬出一個攝像頭設備讓游戲手柄變成“游戲”手柄。現(xiàn)在已經(jīng)成功虛擬出了一個攝像頭和一個鼠標設備,剩下來要做的只需要考慮在硬件上怎樣改造手柄。
Hex文件直接下載到萬利199元的開發(fā)板中,然后重新插拔一次USB線。
會發(fā)現(xiàn)一個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上,編譯環(huán)境IAR4.42
https://code.google.com/p/lxyppc-tetrix/
SVN地址:
https://lxyppc-tetrix.googlecode.com/svn/trunk
游戲“快照”