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