以前我使用Windows窗体应用程序来建立一些RS232连接。我使用已经提供的串口组件(SerialPort),我能够相对容易地建立RS232通信。
现在,我想知道在Winodows Form应用程序中是否会有类似的东西来建立USB通信?
似乎有这个WinUSB API提供与设备的非常低级别的接口。 但是,我不确定那会有多容易?另外,不确定集成到Windows窗体应用程序有多容易?!
是否会有更简单的USB接口API版本?
我不必坚持使用Visual Studio。除了WinUSB之外,还有其他c ++ USB API,这是人们使用的标准吗?我想开发一个GUI API,通过USB进行一些通信。如果需要,我可以使用Python或其他一些工具,如果它促进了这个过程吗?
提前致谢。
答案 0 :(得分:1)
虽然USB是串行协议,但您不能像处理串口一样对待USB:
它取决于实际设备是什么。例如移动电话,可以提供几个端点"对于USB,一个是将手机用作调制解调器的串行端口,一个是存储设备,允许您将照片和音乐文件传输到手机存储设备,以及作为可以拍摄照片的相机设备。所有这些都有不同的行为,需要USB驱动程序插件才能使其正常运行 - 这些通常随Windows一起提供,而您的手机将显示为COM5:,E:或"三星Galaxy S3 Mini"驱动器和摄像机和扫描仪下的摄像头"。
当然,您可以以编程方式打开所有这些设备,但它是作为它们在窗口内部呈现的设备类型完成的(因此您使用串行端口功能或文件功能或相机功能)。
如果您有足够的工作细节,也可以为设备编写设备驱动程序。
但是没有真正的方法可以打开端口"。 USB API是驱动程序API,而不是用户模式API。这是一个从了解USB驱动程序开始的页面: http://msdn.microsoft.com/en-gb/library/windows/hardware/ff540215%28v=vs.85%29.aspx
有一个WinUSB驱动程序,允许单个应用程序访问单个设备,假设您知道如何操作该设备。