[新手]求 用C51实现两台电脑之间USB通信的思路
已有材料:一条USB公对公的线,两台电脑A,B实现功能:用C51分别在两台电脑上实现一个客户端,在A上输入一个字符,在B电脑上可以接收,反之亦可。
楼主基础:自己在电路板上实现过跑马灯。
PS:之所以选用USB线,是因为本实验纯属练手之用,并非为了实现通信的功能。
求思路,求拍醒~
{:2_27:}
电脑的USB都是主,USB通讯要一主一客,你这个从硬件和协议上就不行 zhoujustin108 发表于 2015-3-14 10:56
电脑的USB都是主,USB通讯要一主一客,你这个从硬件和协议上就不行
硬件上?不是一根公对公的线正好能把两台电脑连接起来么?Orz
至于协议上,不知道具体是什么意思?
anyway,依你之见,该怎样才能利用USB接口实现两台电脑的通信呢?
{:2_34:} 你的意思是直接用usb线连接两台电脑,想通过c51编程序实现通讯?这不可能。 普通电脑是普通的usb2.0吧? 没用otg功能。不能直接通讯。 tongdayusu 发表于 2015-3-14 11:07
你的意思是直接用usb线连接两台电脑,想通过c51编程序实现通讯?这不可能。 ...
对的,就是这个意思。
Question1:为什么不可能呢?
Question2:要怎样才能有可能呢?
{:2_26:} 用串口吧 USB有他的协议 carollim 发表于 2015-3-14 11:10
用串口吧 USB有他的协议
1、可怜楼主电脑上没有RS232哎~
2、就想熟悉一下USB,USB2.0或者USB3.0均可~
{:2_25:} USB转串口 tongdayusu 发表于 2015-3-14 11:08
普通电脑是普通的usb2.0吧? 没用otg功能。不能直接通讯。
USB3.0呢? 电脑A 《=》USB 《=》232《=》USB 《=》电脑B carollim 发表于 2015-3-14 11:15
USB转串口
Good idea! 如果实在行不通,我会考虑你的建议的~感谢carollim
{:2_27:} 但作死的楼主还是想再多了解一下,我的idea是否确实是不行的。 野狼王 发表于 2015-3-14 11:19
Good idea! 如果实在行不通,我会考虑你的建议的~感谢carollim
但作死的楼主还是想再多了解一 ...
涉及到USB协议,你自己看协议去。用两个USB DEVICE互通是没问题的,需要自己写接口。 wye11083 发表于 2015-3-14 11:55
涉及到USB协议,你自己看协议去。用两个USB DEVICE互通是没问题的,需要自己写接口。 ...
啊西!
这就是我想要的答案!
{:2_26:} 感谢~ usb->单片机串口->USB czzhouyun 发表于 2015-3-14 12:17
usb->单片机串口->USB
尽量不进行转接。
{:2_27:} 理论上能实现,不过串口好好的不用,为什么化简为难呢 谢冲 发表于 2015-3-14 12:50
理论上能实现,不过串口好好的不用,为什么化简为难呢
谢谢回复,我是纯属练习{:2_27:} PL2303转换芯片 本帖最后由 rmdyj 于 2015-3-14 14:26 编辑
实在不行,可以搞两个USB转串口,把这两个USB转串口的 RX \TX 交换对接,就可以实现LZ的想法,用FT232,波特率可以1MBPS. c51写上位机usb程序,这个真沒听过 2楼精辟,一语道破天机{:smile:} 太牛逼51敢连usb的水平想上usb3 用网线啊 直接用以太网连接路由器 谢冲 发表于 2015-3-14 12:50
理论上能实现,不过串口好好的不用,为什么化简为难呢
纯属了解技术,练习用的,其实是老师的作业-->楼主是学软件的,结果对硬件的课程感觉甚是费解。
我试试去查一下USB的通信协议。
{:2_27:} merphy 发表于 2015-3-14 13:54
PL2303转换芯片
这是啥子呦,容楼主先躲角落里去恶补一番
{:2_29:} rmdyj 发表于 2015-3-14 14:25
实在不行,可以搞两个USB转串口,把这两个USB转串口的 RX \TX 交换对接,就可以实现LZ的想法,用FT232,波 ...
好有道理的样子,容楼主试试再回来做评论~
{:2_26:} kafeiwutang 发表于 2015-3-14 22:42
c51写上位机usb程序,这个真沒听过
层主的头像辣么萌,这个真没见过。
{:2_35:} 谢谢关注撒~ NJ8888 发表于 2015-3-15 08:59
用网线啊
就想试试行不行,不仅仅是为了实现功能的
{:2_27:} mkliop 发表于 2015-3-15 09:00
直接用以太网连接路由器
不是为了实现功能的呢,就是想试试行不行的通,楼主学生党,奈何老师爱折腾的呢~
{:2_27:} 如果你的cpu是51单片机的话,用c51还有可能。
x86,你用c51。
你老师让你这么折腾滴?可以休了他么。 野狼王 发表于 2015-3-15 20:14
不是为了实现功能的呢,就是想试试行不行的通,楼主学生党,奈何老师爱折腾的呢~
...
首先,USB协议规定在同一网络中不允许多个HOST的,当然有桥接器可以实现,两头都可以插PC,价格嘛,向你老师申请经费吧,大约也就几千美金一个。
USB转TTL的,明显速度上不去。最快的我也只见过号称最烂的PL2303,6Mbps。而且局限了只能虚拟串口。 你这样转接需要一个有两个usb device口的器件才行。STM32好像用。8051就别想了
2000年的时候,就使用过这样的成品的“线”,,,,,只是两端都要安装一个驱动、使用专用的软件传输 11楼正解
使用单片机和USB芯片来,自己定义HID设备,自己写上位机,不过只是跑过跑马灯,还有一段距离的路得走啊 楼主太看得起51单片机了 labtech 发表于 2015-3-16 06:39
如果你的cpu是51单片机的话,用c51还有可能。
x86,你用c51。
你老师让你这么折腾滴?可以休了他么。 ...
老师的意思最后要实现传送文件的功能,从他的语气感觉这对学硬件的学生来说应该是不太难的
不一定非得用51,据他估计最后驱动+文件系统应该在500行代码之内。
你看这有戏么?
{:2_27:} 野狼王 发表于 2015-3-16 08:40
老师的意思最后要实现传送文件的功能,从他的语气感觉这对学硬件的学生来说应该是不太难的
不一定非得用 ...
这个就好弄了,用两个USB转TTL吧,然后TXD、RXD交叉,直接用超级终端的XModem、YModem、ZModem之类的发送接收文件就OK了,单片机根本就是不必要的,一句程序也不用写。为了完成任务,用单片机直接控制两个D+的上拉电阻,显得高大上一些。 野狼王 发表于 2015-3-16 08:40
老师的意思最后要实现传送文件的功能,从他的语气感觉这对学硬件的学生来说应该是不太难的
不一定非得用 ...
51连硬USB控制器都没有。单51加两USB根本没戏!
如果用双USB控制器的STM32倒可以。不过怕是固件+驱动下不了6000行。 各位说的方法我都去查查看是否可行,回头再回复大家,非常感谢你们的关注~
交差之后我会尽量回来写Blog的~
{:2_27:} 楼主学软件的,可以想办法改写驱动底层,把一台电脑写成设备就行了,在平板上有这样做的 我只知道网上买有usb对拷的线,中间有个小显示屏。具体我没看,是看电影时候广告推送的 USB转TTL,多串口单片机,这样是不是很容易,但总感觉浪费资源了 logsoft 发表于 2015-3-29 16:52
楼主学软件的,可以想办法改写驱动底层,把一台电脑写成设备就行了,在平板上有这样做的 ...
我确实就是学软件的,表示对硬件的设计毫无概念啊!
能麻烦再说的明白点么?
要是按照你说的这样,大概需要多少行代码呢?是用C还是汇编呢?
莫非这老师有毛病。。。 这个老师简直有病 PIC16F54 发表于 2015-4-7 20:10
莫非这老师有毛病。。。
我是学软件的,只是有一门学习接口的课程,想来老师也是想要我们自学一些东西吧。
如果不用转接口的话(从老师的意思,似乎对我们来说,反倒是转接的话会更麻烦一些),直接就只有一根公对公的USB线,
要自己写代码么?具体用汇编写还是C语言呢?我应该从那些方面开始了解这个问题呢? 野狼王 发表于 2015-4-9 00:47
我是学软件的,只是有一门学习接口的课程,想来老师也是想要我们自学一些东西吧。
如果不用转接口的话( ...
这老师逆天了,不是有病而是病入膏肓了。
叫他自己看USB协议去,两个USB HOST直接相连这个课题要能完成,太阳都能绕地球转了。 大家说的很清楚了,USB设计的时候就是主从模型,从来没打算让两个主机直接通信的。 otg是咋回事 takashiki 发表于 2015-4-9 07:10
这老师逆天了,不是有病而是病入膏肓了。
叫他自己看USB协议去,两个USB HOST直接相连这个课题要能完成, ...
有啥好法子,能委婉得绕过老师的错误,并且实现老师的功能(修改一下老师要求的条件,但是还是能让俩电脑进行通信)么?
作为一个只会用C++和Matlab写算法的计算机专业学生,实在不懂这些底层的问题哎~
{:2_25:} 野狼王 发表于 2015-4-10 11:10
有啥好法子,能委婉得绕过老师的错误,并且实现老师的功能(修改一下老师要求的条件,但是还是能让俩电脑 ...
买一条电脑USB对拷线,两头都是公的,完全满足你老师的要求,也不用要各种接口转来转去了。
单片机就随便从USB线上拉出VCC、GND点个灯交差得了。
takashiki 发表于 2015-4-10 11:25
买一条电脑USB对拷线,两头都是公的,完全满足你老师的要求,也不用要各种接口转来转去了。
单片机就随便 ...
感谢回复~ nhztb 发表于 2015-4-9 23:22
otg是咋回事
OTG是复合设备。一个断点上同时有Host和Device,需要专用的控制器实现。 此贴暂时终结,楼主放弃了。
页:
[1]