用之前做host端的角度給你一些看法
※ 引述《CCT63 (CCT)》之銘言:
: 最近因為想要弄一些東西,所以開始自修USB相關開發
: 因為自己對USB device / host / host driver幾乎是完全陌生,
: 所以想先跳過host driver的部分,之後再回來補QQ
: 目前想要完成的目標:
: 1. PC 跟device能夠透過USB交換資料,
: 例如PC端會需要傳一大筆資料給device & device也須做一樣的事
: Q1: 參考了一些範例code,都是用vendor specific + bulk來做,
: 但是這樣在PC端是不是要額外寫driver?
你可以透過任何一個usb的傳輸模式去傳輸資料,差別只在於頻寬跟資料完整性
: Q2: 如果用HID class,是否能夠設定成bulk傳輸?
Y
: Q3: 如果用mass storage class + Bulk來做,PC端需要額外driver嗎?
PC端就是負責host行為,
若以windows base為例,我想你應該也沒能力動.....
: Q4: PC端有辦法繞過driver來做到我的目標嗎?
建議你從usb列舉開始看起,但不建議使用打高空的方式(就是直接K spec)
你可以找bus hound去分析host跟client之間的行為
也可以介此了解你使用的sw api究竟在host & client之間發生什麼效果
然後再搭配spec的方式做學習,這樣你會比較有成就感,也比較不會放棄
這邊我會建議你拿一個usb to serial的裝置做個列舉分析
應該會對你學習usb很有幫助
: 2. PC端可以將audio raw data透過USB到device,device再將聲音撥出
: => 這部分目前還沒想法XD
: 謝謝
ps. 建議直接把client接在host上,不要再透過hub,因為這又是另外一回事了