我想使用VC编写PC与某一硬件设备(由公司硬件工程师开发)通过USB2.0接口进行通信的应用程序(不是驱动程序),之前我曾经编过串口的,功能就是提供一个应用程序界面,通过USB发送和接收字符,现在用USB,找不到一个完整的例子。请您推荐书籍或资料。
非常感谢!

解决方案 »

  1.   

    要在Windows里面控制你的硬件的话,你需要编写一个驱动程序。
      

  2.   

    看你说的样子,应该是编写这个设备的Demo程序吧?
    应该是要编驱动程序的吧?难道一般的U口驱动可以通用?
    如果是那样你只要调用USB相关的API函数就得了呗!
      

  3.   

    如果你们的驱动已经开发出来了的话,就是在驱动之上编程了哦!
    我上传的资源里有一个用来测试驱动的应用程序,我是用它来测我的PCI卡驱动的,但是只要你有自己驱动的GUID,改过去应该就可以测任何的驱动程序。
      

  4.   

    kaizitop大哥,能再多说两句吗?我真的很菜,我只会一点点VC++,没接触过USB相关的程序开发,写串口通信程序是参考一些例程改出来的,还没有完全消化呢。现在我们用USB通信的项目还没开始,我不知道是不是要写驱动的,硬件工程师的电路考虑用cy68013,最终要实现用PC上的应用程序发送数据到硬件控制其动作,也能收硬件发送的数据显示到屏幕上给监测的人看。
    如果要写驱动,那就是说我得去学WDM是吗?
    我在书店找不到VC++写USB通信程序的书,到这里来提问是想大侠告诉我看什么书,给出完整的书名出版社什么的,如果能针对所用的芯片那真是再好不过了——我想我可能有太多东西要学,时间其实很紧,不知道来得及不。
      

  5.   

    我在美国,看不到中文的书
    参考DDK里面的BulkUSB和IsoUSB示例
      

  6.   

    应该是要写驱动,或者是芯片厂商有USB转串口的驱动,你调用就可以了,实际上跟串口编程是一样的
      

  7.   

    如果要写WDM驱动,武安河的《Windows 2000/XP WDM 设备驱动程序开发(第二版)》应该是必备的书(我觉得)
    这里用DriverStudio的类库开发,十分简洁方便,我当时学DDK学了好一阵,走了不少弯路,还是先学DriverStudio类库了。入门后应该主要研究USB的规范文档,看它的配置空间是怎么划分的,有了这个再把每个配置空间段内的空间和物理设备上相应的端口拉,内存拉,SDROM拉,Flash拉等等对应上,在驱动程序里有了地址以后其实倒也不是很难了。至于所谓的通信,如果有了驱动,就是调用API函数。驱动里通过地址来访问设备才是真正的通信,驱动和应用程序的通信叫做IRP机制,就是传递一个数据结构对象,也是操作系统规定好的机制,和消息差不多,不过是在不同操作系统层之间的消息传递罢了。我没做USB,具体的我也指导不了,上面那本书里有USB的例子,你练练手就啥都明白了。