武藤兰免费下载:我用VC编写 USB 接口程序时出现问题.

来源:百度文库 编辑:高校问答 时间:2024/04/28 08:21:37
首先说明,我并不是那种不用大脑想一下张口就来问问题的选手...这个问题困扰我好几天了,每天都在试(还烧了我一个USB口),可是每次都不行,在网上找了很多文章来看,也都看不明白.所以才到这里来问下的.

我现在在学校里做一个项目(寒假都回不了家过年了...55~),需要把外面的信号输到USB口里,这个信号是滤波后的无线电波信号(就是1点几兆赫的数字信号),我没有一点编写USB程序的经验,看了书,上面对USB协议,通信方法等写得很清楚,但事实上我们的这个东西并不需要那么复杂,我们这个项目传进USB的信号只是一些控制信号,数据量很小,又没有速度要求,所以我就想,能不能不按书里说的那样做.(按书里的意思,要先把信号按照USB协议编好码才能传进去).我想就简单的把串行的数字信号(方波)传到电脑里,这样windows应该不会识别出有设备连到USB上吧?不过没关系,只要我的程序能监听到它传进来的信号就可以了..
我是想问,这样作可以吗?(如果可以,我们硬件和程序要怎么来实现呢?) 还是必须要把它做成一个windows可以识别的设备?(如果是这样的话,还要编写driver,我可没那个水平啊.......)
我昨天用信号源往USB里输信号(一根绿线,一根白线,电压300mV左右,频率是兆赫级的方波),电脑没有反应.想用USB sbiffer这个软件监听,但它的设备列表里跟本就没有).

请各位高手帮我回答下吧...一个年轻的学生遇到这样的问题还是很无助的...555 (啪~~你就表装可怜了!!!)

嗯,主要是帮我看下我说的那种方案可不可行,如果可行,怎么实现,如果不可行,您对我们这种情况,有什么建议,指导一下我们应该怎么办.

小弟先谢过了!!!

首先,我认为你的方法是不行的,原因是:USB总线系统是需要初始化的,这个初始化过程中,最重要的两步是给每个链接在BUS上的设备分配一个ID,然后所有的设备都通过这个ID来判断是否是给自己的数据包,然后会推选1个设备作为Controller,负责整个总线的控制,如果象你那样发送方波,可能从物理层上向USB总线传输信号,但是在PC或者其他设备的USB端是不会接收你的信号的,这个就是为什么都需要服从规范的原因了,另外就是由于没有controller,所以无法解决竞争的问题.
如果按LZ说直接传送方波的话,我想串口更适合LZ,与其为LZ的设备写个USB驱动,不如就直接通过串口传输了呵呵.

至于USB shiffer,因为你的USB总线没有初始化,controller没有决定,所以无法从controller那里获得总线设备列表,当然就不行了,这个好比LZ与我,LZ用法语和我说话,但是我却用英语来解释,当然是解释不通的呵呵.