我想在linux上测试usb
答案 0 :(得分:6)
要从C检测到插入了新的存储设备,如USB笔式驱动器, 使用GetLogicalDrives();或GetLogicalDriveStrings()查看是否检测到任何新条目。
另请参阅如何实现GetDriveInfo2(它使用WINAPI)和this Stack Overflow问题,这是一个相关或可能是骗局的问题。
获得逻辑驱动器名称后,将其作为目录打开,并像使用FindFirstFile()的任何目录一样枚举文件。
答案 1 :(得分:3)
这将高度依赖于操作系统,它还取决于您实际想要与哪种USB设备通信。通常,您不会直接访问USB驱动程序,而是通过更高级别的API使用它。例如。对于USB磁盘驱动器,您只需通过文件系统API访问它就像任何其他磁盘驱动器一样,并且不会关注USB API。
USB是一个复杂的协议栈,旨在在各个点挂接到主机操作系统,因此除非您正在编写驱动程序或需要与某种非标准通信,否则通常不需要访问USB API设备
答案 2 :(得分:1)
如果你想自己写低级别,请参阅约翰海德的书作为参考:USB Design By Example