[問題] 關於使用USB傳送資料的作法

看板C_and_CPP作者 (トースト)時間7年前 (2017/02/02 23:00), 7年前編輯推噓10(10029)
留言39則, 9人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) WIN8.1 WIN7 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) VS2015 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 我想做的事是將資料(字串)由A電腦(WIN8.1)經由USB的方式傳送至B電腦(WIN7) 方法是直接用一條公對公的USB線將兩台電腦主機版上的USB孔對接 A電腦的程式負責送出字串,B電腦的程式則負責接收 兩邊都使用VS2015做開發 請問這樣的方法可行嗎? 若可行的話,請問能用與RS232相同的方式傳送資料嗎? 還是有一定要使用的特定方式(特定函式庫等等)? 謝謝 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.126.5.217 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1486047654.A.961.html

02/02 23:08, , 1F
接網路線比較快
02/02 23:08, 1F
接網路線傳輸速度比USB2.0快嗎?

02/02 23:42, , 2F
要走usb protocol很麻煩吧,宣告desc什麼的
02/02 23:42, 2F
實際實作很麻煩嗎? 不知道能不能用libusb來實作 ※ 編輯: t78923t (111.241.88.177), 02/03/2017 01:42:42

02/03 01:50, , 3F
你兩個都是 USB host是要怎麼溝通?
02/03 01:50, 3F

02/03 01:52, , 4F
usb的世界不像其他裝置可以 peer to peer
02/03 01:52, 4F

02/03 01:56, , 5F
硬要用是用 otg,一端當device,回應主機的列舉,linux 有u
02/03 01:56, 5F

02/03 01:56, , 6F
sb gadget driver可以套到你 otg硬體層,你再負責控制otg
02/03 01:56, 6F

02/03 01:56, , 7F
的硬體送資料到硬體fifo
02/03 01:56, 7F

02/03 01:58, , 8F
實務上usb device端要有硬體的datasheet可以看才知道怎
02/03 01:58, 8F

02/03 01:58, , 9F
麼填register控制
02/03 01:58, 9F

02/03 02:02, , 10F
libusb只是負責餵東西到 OS,最後是由OS控制 usb host硬
02/03 02:02, 10F

02/03 02:02, , 11F
體發資料出去
02/03 02:02, 11F

02/03 02:16, , 12F
所謂的usb device指的是滑鼠,印表機,掃描器,大姆哥等
02/03 02:16, 12F

02/03 02:16, , 13F
周邊裝置,你要拿線對接兩個usb host是不可能的事
02/03 02:16, 13F

02/03 04:08, , 14F
你要的可能是買兩條 USB-RS232 線用 NULL Modem 對接
02/03 04:08, 14F

02/03 04:08, , 15F
但我不建議這樣做,如果兩台電腦都有 COM port 可用
02/03 04:08, 15F

02/03 04:09, , 16F
直接買 RS232 NULL modem 線來接,會比較穩定
02/03 04:09, 16F

02/03 04:11, , 17F
至於 COM port 如何傳輸資料 MSDN 就有講解了
02/03 04:11, 17F

02/03 06:10, , 18F
是存在原PO想像的線, 但不是電腦對接用 http://goo.gl/sZlZZA
02/03 06:10, 18F

02/03 06:10, , 19F
02/03 06:10, 19F

02/03 06:10, , 20F
或是 http://goo.gl/aUvmT7 , 也就是並非單純的連接線.
02/03 06:10, 20F
請問換成USB Host-to-Host Cable就能達成了嗎?

02/03 10:10, , 21F
原PO想的, 比較像socket, 也比較簡單
02/03 10:10, 21F
※ 編輯: t78923t (120.126.5.217), 02/03/2017 12:19:48

02/03 12:54, , 22F
覺得原PO只是想用USB來做到UART能做的事?XD
02/03 12:54, 22F

02/03 13:06, , 23F
我的便宜主機板用Gigabit網路晶片,你覺得哪個會比較快
02/03 13:06, 23F

02/03 13:06, , 24F
USB 2.0 Hi-Speed 上限是 480 Mbit/s
02/03 13:06, 24F

02/03 13:07, , 25F
不過要拼速度那又是另一個問題了,你寫的程式也要夠快
02/03 13:07, 25F

02/03 14:05, , 26F
你要不要乾脆兩台電腦各接個藍芽接收器
02/03 14:05, 26F

02/03 14:06, , 27F
然後中間用兩個藍芽晶片搭配IC做橋接啊?
02/03 14:06, 27F

02/03 14:07, , 28F
不對= =如果用藍芽的話就直接連就好了,耍蠢了
02/03 14:07, 28F

02/03 21:14, , 29F
網路改光纖,長距離都不是問題
02/03 21:14, 29F

02/03 23:12, , 30F
是不太知道想幹嘛,如果是傳資料用網路線就行了
02/03 23:12, 30F

02/03 23:13, , 32F
之前有試過網路對傳
02/03 23:13, 32F

02/04 00:43, , 33F
可能是沒相關標準的關係, USB電腦對接線可能還有若干名稱,
02/04 00:43, 33F

02/04 00:43, , 34F
諸如 USB Link cable, USB File transfer cable 之類...
02/04 00:43, 34F

02/04 00:44, , 35F
有的線可能還可設定為 Data-Link 或 Network-Adapter 的模式;
02/04 00:44, 35F

02/04 00:44, , 36F
前者似乎要用特定檔案傳輸程式, 不知是否有API可供程式操作,
02/04 00:44, 36F

02/04 00:44, , 37F
後者則是把對接線模擬為網路卡, 使用上就如同網路線對接.
02/04 00:44, 37F

02/04 00:44, , 38F
但是這樣的線, 一方面不便宜, 另一方面透過驅動程式後,
02/04 00:44, 38F

02/04 00:45, , 39F
速度不如想像中高; 還不如用一般網路連線方式來得便利.
02/04 00:45, 39F
文章代碼(AID): #1OaqccbX (C_and_CPP)