
我今年刚毕业. 来到公司后,我学习了如何学习绘图板. 然后经理给了我一个董事会. 我需要使用USB传输数据. 让我了解Windows驱动程序开发并解决该USB驱动程序. 当时,我很困惑,我通过USB接口将开发板插入计算机,发现显示了无法识别的设备. 我记得在学校时,我在Internet上找到了一个USB到串行驱动程序,并通过串行助手安装了它. 现在是时候传输数据了,现在我需要自己开发一个驱动程序. 对于仅单击微控制器的人来说,我感到非常困难.
接下来是疯狂的百度搜索信息. 后来,我发现CSDN确实是一件好事. 大人物精心编辑了许多好文章,对新手来说非常有帮助. 在这里,我还分享了过去一个月用于Windows驱动程序开发的USB学习过程. 它还不够详细,只是学习过程供以后回顾和参考,供新手学习过程使用.
1. 百度对Windows驱动程序开发有一个大致的了解,然后浏览相关书籍,以下是我主要浏览的有关Windows驱动程序开发的书籍.

“ Windows7设备驱动程序开发”下载链接:
“ Windows设备驱动程序WDF开发”下载链接:
“ WDF USB驱动程序开发指南”下载链接:

注意: 当前,大多数工具都使用WDF框架进行Windows驱动程序开发(WDF是WDM的较高级软件包,这降低了开发难度),但是您可以找到许多有关WDM框架开发的内容在网上. 了解.
2. 配置驱动器开发环境,这些都是CSDN上的所有文章. 关于驱动器开发和调试环境的构建,有许多文章. 这是一篇好文章.
大佬博客地址:

注意: CSDN博客底部有许多相关内容供参考. 对于新手来说,此过程会花费很多时间,并且有很多陷阱. 这是我遇到的一些陷阱.
1)当VS2015无法附加到进程时,可以参考最后一步,并且必须以管理员权限运行VS2015才能成功附加.
2)如果VS2015要生成在WIN7环境下运行的驱动程序,则不仅需要将项目属性页中的Driver Settings-> Target OS Version设置为WIN7,还需要在Driver Settings-> Driver Model中设置KMDF. “次要版本”设置为11. 因为KMDF具有不同的版本并支持不同的操作系统,所以如果设置错误,则无法使用某些API函数,并且编译将报告未声明的错误. 借用官方的编译错误提示: 您可以在当前不支持的SDK头文件中调用构建环境中的函数.

3. 从Microsoft的官方网站下载USB-FX2驱动程序示例代码,并仔细研究其中的驱动程序(还包括控制台应用程序).
代码示例:
详细的下载链接:
注意: .inx文件是驱动程序安装信息文件. 您应该首先了解,更改内部的VID&PID值以与您自己的设备相对应,然后将已编译的.inf文件和.sys文件复制到目标计算机上. 关闭目标计算机的强制驱动程序签名,然后打开设备管理器安装驱动程序. 如果无法安装,则可以检查Windows安装程序日志文件以进行故障排除(例如,如果从中找到了WIN7系统,则还需要WdfCoinstaller01011.dll. 要安装的文件).
4. 如果开发的驱动程序正确并成功安装,则可以在示例代码中研究控制台应用程序. 驱动程序必须与应用程序进行通信,才能最终通过Windows下的USB驱动程序与设备进行交互,否则该驱动程序的作用不会得到体现,如何验证驱动程序中的功能是否正常运行取决于应用程序与司机.
参考博客:
注意: 我的开发环境是WIN10(主机)+ VS2015 + VM虚拟机WIN10(目标计算机). 一开始,我的目标计算机安装了WIN7系统. 运行已编译的WIN7控制台应用程序时,我总是没有USB设备,但可以在WIN10上获得它. 我不知道原因后来我了解了QT,并使用libusb库编写了QT下的USB接口应用程序,以实现读写功能.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-306385-1.html
大大的变了
我也在不断的去追求
小问题不断