2018年4月的一天,某手柄剛剛參加完某比賽。結果不盡如人意,遂從新沉迷 osu! 這款音樂遊戲,但願可以擁有一臺趁手的小型鍵盤,無奈淘寶價格廣泛過百,便嘗試自造一臺。html
全文大部份內容根據本身數月前的經驗和操做過程猜想和總結,因此有大量錯誤在所不免,還請各位大佬包涵並指出錯誤以改進本文!segmentfault
本節介紹了 項目的需求,選型,和 首次刷寫程序,並使用 例程,完成了基本的 USB鍵盤 功能,完整項目可在 個人博客 獲取,該部分源碼可在 百度網盤 提取碼33dt 下載查看。瀏覽器
注:
開發環境的操做系統爲 Windows 10 1803 x64
在開發過程當中可能會須要如下開發設計軟件:(本文暫時還所有沒用)
Keil μVision 5
Altium Designer 10
AutoCAD 2019測試
成品設備可在 個人淘寶店鋪 直接購買。spa
製做出一個鍵盤,讓其能夠響應操做,而且鍵值能夠配置,若是可能的話,最好還有RGB燈光和模擬鼠標按鍵功能操作系統
進行拆分.net
搜索某寶,某度和某應,找支持USB的單片機或鍵盤IC,找到以下可使用的型號:設計
最終基於「省錢」和「響應速度夠快」兩個想法的狀況下, 採用 CH551G 型芯片(後期因爲IO口不夠用更換爲了CH552T型),封裝針腳定義以下圖。3d
CH551G 爲 SOP16 封裝,無 DIP 封裝版本,故購買了 SOP16 測試座一個(約¥14),將其轉爲 DIP 插口插入麪包板。code
接下來,給單片機鏈接 USB 線以用於鏈接至計算機,按照針腳定義,USB 以及供電針腳定義以下
P12:USB Data P
P13:USB Data M
P15:VCC
P14:GND
而後,參照 CH552/CH551 型單片機規格書的要求,給 P16 V33 以及 P15 VCC 分別接 0.1μF 電容至 P14 GND 上。
下載安裝 WCHISPTool 鏈接數據線至計算機,可見 標籤頁 8位CH55X系列 下,在USB設備列表中已識別出設備,顯示爲 CH551。
按照官方規格書說明,CH55x 提供了內置的 BootLoader ,正常來講按照下圖來接就好……可是很玄學……在按照圖像接好後並無什麼卵用……
最終我按照下圖接線,成功工做……(D+反了別吐槽)
下載例程包,而後進入目錄 \EVT\EXAM\USB\Device
,按住剛纔設置的 刷寫按鈕 ,打開 WCHISPTool ,切換至標籤頁 8位CH55X系列 下,在固件中選擇目錄中的文件 CompositeKM.hex ,進行刷入,鏈接 P15 到一個按鈕,而後接至 GND ,按下按鈕,電腦收到按鍵響應。
這個固件的對應源碼是 CompositeKM.C 其中的源碼下次再詳細說明。
(具體響應是什麼我真的忘了……畢竟好幾個月以前了……)
各位大佬好……本文本着水分的想法開寫,將以前造鍵盤的過程發佈出來進行分享。因爲時間有點久遠,有一些內容沒法準確回憶起來,還望腦部部分缺失內容。
希望本文還會繼續更新下去,越新的內容我或許就能回憶起更過吧,笑。下次更新的內容應該是關於USB描述符相關的內容,儘可能不鴿。
最後再水下,SimPad,基於C51的開源2鍵遊戲鍵盤鍵盤項目,其中的PC端控制程序使用Electron完成,其中包含的無依賴組件 simple-color-picker (顏色選擇器)可用於普通瀏覽器中,歡迎吐槽和建議。