作者t78923t (トースト)
看板C_and_CPP
标题[问题] 关於使用USB传送资料的作法
时间Thu Feb 2 23:00:48 2017
开发平台(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://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1486047654.A.961.html
1F:推 longlongint: 接网路线比较快 02/02 23:08
接网路线传输速度比USB2.0快吗?
2F:推 james732: 要走usb protocol很麻烦吧,宣告desc什麽的 02/02 23:42
实际实作很麻烦吗? 不知道能不能用libusb来实作
※ 编辑: t78923t (111.241.88.177), 02/03/2017 01:42:42
3F:推 askacis: 你两个都是 USB host是要怎麽沟通? 02/03 01:50
4F:推 askacis: usb的世界不像其他装置可以 peer to peer 02/03 01:52
5F:→ askacis: 硬要用是用 otg,一端当device,回应主机的列举,linux 有u 02/03 01:56
6F:→ askacis: sb gadget driver可以套到你 otg硬体层,你再负责控制otg 02/03 01:56
7F:→ askacis: 的硬体送资料到硬体fifo 02/03 01:56
8F:→ askacis: 实务上usb device端要有硬体的datasheet可以看才知道怎 02/03 01:58
9F:→ askacis: 麽填register控制 02/03 01:58
10F:→ askacis: libusb只是负责喂东西到 OS,最後是由OS控制 usb host硬 02/03 02:02
11F:→ askacis: 体发资料出去 02/03 02:02
12F:→ askacis: 所谓的usb device指的是滑鼠,印表机,扫描器,大姆哥等 02/03 02:16
13F:→ askacis: 周边装置,你要拿线对接两个usb host是不可能的事 02/03 02:16
14F:→ Schottky: 你要的可能是买两条 USB-RS232 线用 NULL Modem 对接 02/03 04:08
15F:→ Schottky: 但我不建议这样做,如果两台电脑都有 COM port 可用 02/03 04:08
16F:→ Schottky: 直接买 RS232 NULL modem 线来接,会比较稳定 02/03 04:09
17F:→ Schottky: 至於 COM port 如何传输资料 MSDN 就有讲解了 02/03 04:11
请问换成USB Host-to-Host Cable就能达成了吗?
21F:推 Qbsuran: 原PO想的, 比较像socket, 也比较简单 02/03 10:10
※ 编辑: t78923t (120.126.5.217), 02/03/2017 12:19:48
22F:推 james732: 觉得原PO只是想用USB来做到UART能做的事?XD 02/03 12:54
23F:→ Schottky: 我的便宜主机板用Gigabit网路晶片,你觉得哪个会比较快 02/03 13:06
24F:→ Schottky: USB 2.0 Hi-Speed 上限是 480 Mbit/s 02/03 13:06
25F:→ Schottky: 不过要拼速度那又是另一个问题了,你写的程式也要够快 02/03 13:07
26F:→ AizawaYuuiti: 你要不要乾脆两台电脑各接个蓝芽接收器 02/03 14:05
27F:→ AizawaYuuiti: 然後中间用两个蓝芽晶片搭配IC做桥接啊? 02/03 14:06
28F:→ AizawaYuuiti: 不对= =如果用蓝芽的话就直接连就好了,耍蠢了 02/03 14:07
29F:推 johnpage: 网路改光纤,长距离都不是问题 02/03 21:14
30F:推 lc85301: 是不太知道想干嘛,如果是传资料用网路线就行了 02/03 23:12
32F:→ lc85301: 之前有试过网路对传 02/03 23:13
33F:推 yvb: 可能是没相关标准的关系, USB电脑对接线可能还有若干名称, 02/04 00:43
34F:→ yvb: 诸如 USB Link cable, USB File transfer cable 之类... 02/04 00:43
35F:→ yvb: 有的线可能还可设定为 Data-Link 或 Network-Adapter 的模式; 02/04 00:44
36F:→ yvb: 前者似乎要用特定档案传输程式, 不知是否有API可供程式操作, 02/04 00:44
37F:→ yvb: 後者则是把对接线模拟为网路卡, 使用上就如同网路线对接. 02/04 00:44
38F:→ yvb: 但是这样的线, 一方面不便宜, 另一方面透过驱动程式後, 02/04 00:44
39F:→ yvb: 速度不如想像中高; 还不如用一般网路连线方式来得便利. 02/04 00:45