基于USB接口芯片CH372的人機接口設備設計與實(shí)現
4.2.2 部分子程序代碼
本地端主程序可以參照圖4 流程編寫(xiě)代碼。在程序中,外置模式的設置是在CH372 初始化的子程序中完成的;中斷子程序編寫(xiě)需要參考CH372 中文手冊(二)。從圖2 的硬件電路連接上可以看出,單片機的P1 口與CH372 的數據端連接,并非以總線(xiàn)方式掛接在單片機上,因此需要單片機的I/O 擬出相應的時(shí)序操作CH372 芯片。下面給出單片機通過(guò)數據端口寫(xiě)命令,寫(xiě)數據,讀數據的三段代碼。
枚舉成功后,PC 機識別為USB Mouse.此時(shí)單片機根據圖2 中所示的遙控指示信號LeftKey(P3.0 腳)和RightKey(P3.1 腳)電平高低,通過(guò)CH372端點(diǎn)1(中斷端點(diǎn))發(fā)送USB 鼠標相應的鍵值給PC 機,端點(diǎn)1(中斷端點(diǎn))的緩沖區數據塊長(cháng)度為4 個(gè)字節,LeftKey 或者RightKey 鍵值需要放在第一個(gè)字節上。如果鼠標左鍵按下,則返回0x01,0x00,0x00,0x00;若鼠標右鍵按下,則返回0x02,0x00,0x00,0x00。
下面給出端點(diǎn)1 上傳數據示例:
5 結語(yǔ)
本系統是CH372 設置為靈活的外圍固件模式下的應用和開(kāi)發(fā)。系統硬件設計簡(jiǎn)單,軟件流程清晰。
若將硬件和軟件做很小的改動(dòng),就可以設計出其他很多HID 類(lèi)設備。
評論