一、制作原因和實(shí)現(xiàn)的功能
? ? ? ? 1、原因:電腦每次開機(jī)都需要輸入登錄密碼,感覺很麻煩,就想著能不能用單片機(jī)做一個(gè)USB鍵盤,按一下自動(dòng)給電腦發(fā)一串密碼實(shí)現(xiàn)開機(jī)。后來又想,其實(shí)不用按鍵也行,用延時(shí),延時(shí)到電腦開機(jī)再發(fā)送密碼就好了,于是便有了這個(gè)制作。
? ? ? ? 2、功能:將做好的USB插入電腦,電腦開機(jī)以后實(shí)現(xiàn)自動(dòng)輸入密碼,完成登錄。
USB鍵盤
二、需要準(zhǔn)備的東西
? ? ? ? 一個(gè)STM32f103c8t6最小系統(tǒng)板
? ? ? ? 一個(gè)5V轉(zhuǎn)3.3V模塊,
? ? ? ? 一個(gè)USB公頭
? ? ? ? 幾根杜邦線,
三、過程中遇到的問題
? ? ? ? 第一次使用USB,先是看原子哥的視頻,進(jìn)行學(xué)習(xí),然后發(fā)現(xiàn)還是不會(huì)弄,對(duì)USB的通訊感覺很困惑,網(wǎng)上很多都再推薦《圈圈教你玩USB》這本書,不過我還沒來的及去看,對(duì)想了解USB的人來說,我想應(yīng)該是本不錯(cuò)的書。
? ? ? ?在CSDN上看了很多相關(guān)的文章后,對(duì)USB的描述符,和數(shù)據(jù)格式有了大致了解,開始嘗試修改網(wǎng)上的一些代碼,但是網(wǎng)絡(luò)資源的質(zhì)量參差不齊,即使是一些VIP資源,有的也是要么沒有注釋,看著難受,要么就是照搬別人的東西,亂七八糟的放著,而且最重要的還是內(nèi)容錯(cuò)誤百出??傊懔撕荛L(zhǎng)時(shí)間,我還沒有搞出來,時(shí)間大部分都浪費(fèi)在了重復(fù)的、無用的低質(zhì)量文章上了。但是這其中也有很多博主的文章很好,讓我對(duì)USB的知識(shí)了解的更多了。
? ? ? ?對(duì)USB的描述符有了更清晰的認(rèn)識(shí)以后,回頭再去看ST官方例程和其他博主的代碼,突然頓悟。在他們的基礎(chǔ)上,潛心修改以后,燒錄上電,成功實(shí)現(xiàn)功能。最主要的,我感覺還是USB的描述符,要明白他們代表的含義、層次之間的關(guān)系,例如,在配置描述符中,描述接口的數(shù)量,在接口描述符中再描述端口的數(shù)量,兩個(gè)端口一個(gè)輸出、一個(gè)輸入。要了解什么是HID,它和USB之間是什么關(guān)系,HID描述符中的HID協(xié)議版本號(hào),并不等于USB協(xié)議版本號(hào),將這些配置成功,才能繼續(xù)往下操作。
四、部分代碼
五、5伏轉(zhuǎn)3.3伏模塊
六、總結(jié)
? ? ? 全部代碼和包含STM32F103C8T6最小系統(tǒng)板在內(nèi)的電路圖,我已經(jīng)放在了文章最后的附錄中,大家可以參考學(xué)習(xí)。此外,制作的這個(gè)東西,我沒有加按鍵功能,大家需要的可以根據(jù)已有代碼自行補(bǔ)充添加相關(guān)內(nèi)容。程序中有注釋,相信大家看了以后應(yīng)該都能明白,不明白的也可以留言,一起交流。同時(shí)我也希望更多的開源作者能夠在開源的同時(shí),將代碼注釋寫的再清楚一點(diǎn),這樣大家看著也更方便一些。關(guān)于USB全速模式需要在D+引腳接1.5K 的電阻,以及其他相關(guān)的USB基礎(chǔ)內(nèi)容,這里并沒有詳細(xì)介紹。第一次寫博客,文章中有很多地方可能寫的比較淺薄,不夠好,歡迎大家指出。我也會(huì)不斷學(xué)習(xí),虛心接收大家的意見,爭(zhēng)取做的更好,謝謝大家。
七、附錄
? ? ?1、程序
? ? ? ? ? ?百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1t34ubf8S_-bd9MilYFMC7w?pwd=67by?
? ? ? ? ? ?提取碼:67by
? ? ?2、電路
? ? ? ? ??百度網(wǎng)盤鏈接:https://pan.baidu.com/s/1GIcad5HBB5prwExXiXe2AQ?pwd=21nf文章來源:http://www.zghlxwxcb.cn/news/detail-815738.html
? ? ? ? ??提取碼:21nf文章來源地址http://www.zghlxwxcb.cn/news/detail-815738.html
到了這里,關(guān)于STM32F103C8T6制作USB鍵盤的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!