阅读:6422回复:13
USB 的EndPoint可以同时In和Out么?
在USB单片机中的EndPoint支持In和out,有没有办法in和Out同时使用?或者分时复用?
如果可以的话一般需要在程序中怎么转换,或者怎么设置? |
|
|
沙发#
发布于:2005-04-13 04:32
可以真只要作
|
|
板凳#
发布于:2005-04-12 20:43
usb的每一个endpoint的descriptor不是都有一个方向么?反正endpoint对应的寄存器有方向位我按照例子程序接了。
|
|
|
地板#
发布于:2005-04-12 13:07
我用的TUSB3410,USB肯定一个时刻只能是发送或者接收。但是这个时刻是发送的可不可以修改成接收?只是随便问一下。 发送接收是遵循USB规范的IN另牌就是对USB进行读取、OUT就是像USB设备写入;你说的修改是什么修改?哪里修改?不懂你在说什么? |
|
|
地下室#
发布于:2005-04-12 08:41
我用的TUSB3410,USB肯定一个时刻只能是发送或者接收。但是这个时刻是发送的可不可以修改成接收?只是随便问一下。
|
|
|
5楼#
发布于:2005-04-11 13:58
我用的USB片子是USBN9603. USB从细节上来讨论端点0可以实现双向传输。其他的端点则只可以实现单项传输。对于整个系统来说。他是封装了具体的实现,它可以读也可以写,USB的传输在任何时刻都只有一个方向的。或上或下。
|
|
6楼#
发布于:2005-04-11 13:22
其实端点(Endpoint)用来做双向传输要取决于端点的传输模式,控制传输的端点支持数据的双向传送,其他3种通信方式都不行。(一般控制传输只是用来传输命令的。) 这个说法是错误的,别误导大家,我就做过一个端点(bulk方式)双向传输的 |
|
|
7楼#
发布于:2005-04-08 16:38
其实端点(Endpoint)用来做双向传输要取决于端点的传输模式,控制传输的端点支持数据的双向传送,其他3种通信方式都不行。(一般控制传输只是用来传输命令的。)
[编辑 - 4/8/05 by xiang99] |
|
|
8楼#
发布于:2005-04-08 14:33
放在网络上来比较DeviceAddress就成了IP地址,EndPoint就成了端口号了。呵呵。
|
|
|
9楼#
发布于:2005-04-08 14:18
分数已经给了。
谢谢大家,楼上说的透彻,楼楼上的建议也接受了。 [编辑 - 4/8/05 by linqing171] |
|
|
10楼#
发布于:2005-04-08 13:43
我说的是一个端口如果设置成了输出输出了一些东西,过了一会我想变成输入来输入东西可以变么? 计算机的端口一般由软件和硬件两种端口组成 像串口、并口、usb口、1394均是硬件端口 而平常经常听到的13\\21\\22\\80 ....统称软端口 usb设备本身所接入到计算机是通过usb端口接入,你所说的应该是它的端点吧,端点对于一个usb设备来说就如同计算机中的一个软端口,对于上位机来说读写一个usb设备就如同读写一个文件,能否正确完成关键靠上下位机是否按照usb协议完成了应该的工作,不存在什么一会儿输入一会儿输出的问题,只要你上位机做了读动作,在下位机中完成了读的处理,就能完成读工作,同样写也是这个道理。 ;) |
|
|
11楼#
发布于:2005-04-08 12:18
这样操作更麻烦!
合理的使用方法是1个in一个out,你想上传数据就用in,像下传数据就用out,主机上读写in和out端点的程序可以通过两个线程来实现,驱动会自动安排分时的来读写。 只要你固件里设置好了就行。 |
|
12楼#
发布于:2005-04-08 11:51
我说的是一个端口如果设置成了输出输出了一些东西,过了一会我想变成输入来输入东西可以变么?
假设上位机的驱动,下位机的固件都是我自己来写的。 |
|
|
13楼#
发布于:2005-04-08 11:24
在USB单片机中的EndPoint支持In和out,有没有办法in和Out同时使用?或者分时复用? 理论上来讲,USB是半双工操作的,谈不上同时。 |
|
|