編譯環(huán)境IAR 4.42
工程配置說明:
- STM3210E-EVAL 紅牛開發(fā)板使用
- STM3210B-EVAL 萬利199開發(fā)板使用
- STM3210B-HEX 生成萬利開發(fā)板Hex文件
- SIM 程序仿真
- RAM_DEBUG RAM中調(diào)試程序
說明:
開發(fā)板是萬利的那個(gè)帶有ST-Link2的199開發(fā)板 STM3210B-LK1,上面有一塊STM32F103VBT6,這個(gè)片子有128K的Flash,20K的RAM。
開發(fā)板上面可以用到的資源:
可惜那個(gè)LCD是米字的LCD,如果是點(diǎn)陣的話,就可以在它上面畫圖了
不過不要緊,我之前做了一個(gè)OLed顯示的小東西https://blog.ednchina.com/lxyppc/725361/message.aspx
在調(diào)試它的UI的時(shí)候我把開發(fā)板虛擬成了一個(gè)USB設(shè)備,并將數(shù)據(jù)以攝像頭的格式發(fā)送上來,這樣我就可以在電腦上直接調(diào)試了。受此思路影響,只需要將游戲圖像數(shù)據(jù)轉(zhuǎn)換成攝像頭數(shù)據(jù)發(fā)送上來,這樣就解決了沒有顯示屏的問題,實(shí)際上把電腦顯示器當(dāng)成了顯示屏。最后我將這塊開發(fā)板虛擬成了一個(gè)USB攝像頭和一個(gè)USB鼠標(biāo),不玩游戲的時(shí)候可做鼠標(biāo)用。游戲的時(shí)候畫面通過攝像頭傳到電腦上來。
未來計(jì)劃:
拆解一個(gè)USB的游戲手柄,將里面的主控芯片換成STM32,在實(shí)現(xiàn)手柄所有功能的同時(shí),虛擬出一個(gè)攝像頭設(shè)備讓游戲手柄變成“游戲”手柄。現(xiàn)在已經(jīng)成功虛擬出了一個(gè)攝像頭和一個(gè)鼠標(biāo)設(shè)備,剩下來要做的只需要考慮在硬件上怎樣改造手柄。
Hex文件直接下載到萬利199元的開發(fā)板中,然后重新插拔一次USB線。
會發(fā)現(xiàn)一個(gè)USB攝像頭,和一個(gè)USB鼠標(biāo)。未打開攝像頭時(shí)可當(dāng)鼠標(biāo)使用,打開攝像頭后即可開始游戲。關(guān)閉攝像頭游戲自動暫停。
資源使用情況
9 568 bytes of CODE memory
4 855 bytes of DATA memory
34 646 bytes of CONST memory
游戲說明:
當(dāng)USB攝像頭沒有打開時(shí):五方向輸入搖桿控制鼠標(biāo)的上下左右,KEY2為鼠標(biāo)左鍵,KEY3為鼠標(biāo)右鍵
當(dāng)USB攝像頭打開時(shí):左右鍵移動方塊,向上鍵旋轉(zhuǎn)方塊,向下鍵讓方塊快速下落,KEY2為開始/暫停
工程源代碼在Google Code上,編譯環(huán)境IAR4.42
https://code.google.com/p/lxyppc-tetrix/
SVN地址:
https://lxyppc-tetrix.googlecode.com/svn/trunk
游戲“快照”