本篇參考假濕汀的Blogger,並修改文章中所提供的範例程式,透過Bus Hound監聽軟體來驗證傳輸資料是否正確。
由於原作者範例只能將hidraw中的資料由Device端送至PC端,無法由PC端送資料至Device端,因此這裡將介紹如何解決此問題,由於USB這邊是第一次接觸,還有很多不了解的地方,有問題還請各位前輩可以提出來。
假濕汀的Blogger:
本網誌連結(有sample code可以下載): http://anthonyhuang521.blogspot.tw/
修改部分:
- usbd_hid_core.c:增加USB_HID_DataOut function
- USBD_HID_CfgDesc array中需修改項目
原程式中只有一個input Endpoint,因此須改改interface中定義Endpoint的數量。
增加Output Endpoint Descriptor
- Bus Hound驗證:
- 1.點選interrupt Out
- 2.輸入要送至Device端的資料與資料大小
- 3.點選Run,將資料送出
由上圖可觀察到,送出資料後,讀出hidraw data為PC端所輸入的資料,我們已成功將資料送至Device端。
|