以STM32CubeMX生成USB驱动为例,其步骤如下:

一、使用STM32CubeMX生成USB驱动程序

打开STM32CubeMX软件,选择Start My project formMCU,点ACCESS TO MCU SELECTOR。

选择相应的芯片信号,点击Start Project

配置RCC的High Speed Clock为图中所示,位置为外部时钟。

选择SYS的Debug为Serial Wire,开启调试,否则下载程序后无法再次下载。具体解决方法参考链接:

ST-LINK无法下载程序的解决方法

在Connectivety下选择USB,勾选Device(FS),配置NVIC的中断,打上对勾,开启中断。

在USB_DEVICE中的mode,选择Communication Device Class配置,在Device Descriptor中配置USB的信息,根据图片自行修改。

在Clock configuration中,选择HES外部晶振,选择PLLCLK。在HCLK(MHz)下,填入72,点回车,等待系统自动配置时钟,配置完成后,USB时钟为48MHz,注意USB必须为48MHz。

在Project Manager中,一次填写工程名称,路径,IDE选择MDK-ARM,Minimum Heap Size改为0x400或者0x800,否则可能出现USB在调用USBD_malloc() 申请内存是失败,导致数据无法接收的情况。点击右上角GENERATE CODE。

打开工程文件,编译后下载到板子上,会在设备管理器看到这个设备

测试中出现电脑上检测不到USB设备的情况,经过查阅资料,USB的DP引脚必须上拉1.5K欧的电阻,才能检测到,否则电脑上检测不到。

电脑检测到USB的设备后,还需要安装相应的驱动。使用inf-wizard工具生成USB驱动。

打开后,选择对应的设备,一路NEXT下去,等一会就会生成对应的驱动,安装该驱动,设备就能被电脑识别。

工程文件和USB驱动生成工具稍后附上链接。

下载链接:

STM32F103的USB工程及USB驱动生成工具

STM32F103的USB上位机软件

使用STM32CubeMX生成USB驱动程序 USB无法检测到的问题 生成USB驱动相关推荐

  1. 怎么禁用计算机usb驱动程序,win7如何设置禁止自动识别和安装USB驱动程序

    很多病毒都是USB传播的,因此我们在防毒安全措施上,有必要禁止USB自动运行. Win7有个"权限控制"功能,从源头上控制USB设备的自动识别并安装驱动. Win7禁止自动识别和安 ...

  2. 嵌入式Linux USB驱动开发之教你一步步编写USB驱动程序

    2019独角兽企业重金招聘Python工程师标准>>> 编写与一个USB设备驱动程序的方法和其他总线驱动方式类似,驱动程序把驱动程序对象注册到USB子系统中,稍后再使用制造商和设备标 ...

  3. Linux USB 驱动开发(五)—— USB驱动程序开发过程简单总结

    http://blog.csdn.net/zqixiao_09/article/details/51057086 设备驱动程序是操作系统内核和机器硬件之间的接口,由一组函数和一些私有数据组成,是应用程 ...

  4. USB主机是如何检测到设备的插入的呢?

    USB设备的插入检测机制 首先,在USB集线器的每个下游端口的D+和D-上,分别接了一个15K欧姆的下拉电阻到地.这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平.而在USB设备端,在D+或 ...

  5. Linux USB 驱动开发(三)—— 编写USB 驱动程序

    前面学习了USB驱动的一些基础概念与重要的数据结构,那么究竟如何编写一个USB 驱动程序呢?编写与一个USB设备驱动程序的方法和其他总线驱动方式类似,驱动程序把驱动程序对象注册到USB子系统中,稍后再 ...

  6. linux usb-skeleton,Linux USB驱动程序(2)----usb-skeleton.c分析

    前文曾经说过这个程序相当于linux调试USB的万能驱动,到底它有什么能耐这么厉害.不会很大吧,统计下: [zhh@localhost usb]$ wc -l usb-skeleton.c 525 u ...

  7. USB 驱动程序(转贴)

    http://blog.chinaunix.net/u3/102754/article_118760.html Linux设备驱动程序学习(16)-USB 驱动程序(一) 从此文档开始,内核使用2.6 ...

  8. usb扫描枪驱动下载 wince_WinCE系列全站仪USB驱动程序

    WinCE系列全站仪usb驱动程序是一款WinCE系列全站仪连接USB驱动同步软件,适合全系列Windows操作系统,支持早期的WIN9X和当前主流操作系统XP/WIN7,支持WINSERVER2K3 ...

  9. usb扫描枪驱动下载 wince_WinCE系列全站仪USB驱动程序(WinCE全站仪USB驱动) 最新中文版...

    WinCE系列全站仪USB驱动程序(WinCE全站仪USB驱动) 最新中文版 WinCE系列全站仪usb驱动程序是一款WinCE系列全站仪连接USB驱动同步软件,适合全系列Windows操作系统,支持 ...

最新文章

  1. transport=websocket' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
  2. 如何避免把软件装到C盘
  3. php中数组生成下拉选项,php数组生成html下拉列表的方法
  4. 漫步数理统计二十二——二项及相关分布
  5. cpython vm_【协程原理】 - cPython的VM真变态
  6. 架构学习----消息队列
  7. linux总线驱动程序,Linux驱动程序中的platform总线详解
  8. 线性系统与非线性系统
  9. 优化算法3--蚁群算法(原理)
  10. 对Kindle进行可用性研究
  11. html中tr中加判断换行符,深入解析HTML的table表格标签与相关的换行问题
  12. 计算机组成原理经典复习题集锦(附答案)
  13. 一个小垃圾的成长笔记
  14. 图像的灰度化灰度值的读取Matlab
  15. [分享源码] 美女写真图片采集源码
  16. 1. Java并发编程-Java内存模型
  17. 非常简单的C语言 信息管理系统 (内含源代码)
  18. 什么是Apple Search Ads
  19. 植物生理学(全英文)Chapter 5 Word list第五章单词
  20. List 集合的一些常规操作

热门文章

  1. 关于ATM渗透与欺诈的知识点Part 1
  2. datatable单元格内容过长显示省略号,单击弹出所有内容
  3. Python基础灬文件常用操作
  4. python常用字符串格式化_Python字符串格式化常用手段及注意事项
  5. 北大青鸟java第一单元项目_北大青鸟java第一单元项目迷你TXT小说阅读器
  6. 小数分频超详解+实例
  7. JPEG文件中的EXIF(下)
  8. vue里面的ref详解
  9. 非常详细的HTTPS分享
  10. Lawliet|面向对象/面向过程