USB虚拟串口应用与问题解决:STM32中断、枚举及驱动安装
126 浏览量
更新于2024-11-23
收藏 28.89MB ZIP 举报
资源摘要信息:"USB虚拟串口资料汇总(包括USB虚拟串口例程)-电路方案"
### USB虚拟串口的安装与配置问题解决
在安装USB虚拟COM口驱动时可能会遇到"INF中的服务段落无效"的错误。为了解决这个问题,需要下载两个文件:mdmcpq.inf和usbser.sys。然后,将这两个文件分别复制到系统的指定目录下。具体操作为:
1. 将mdmcpq.inf复制到`C:\windows\inf`目录。
2. 将usbser.sys复制到`C:\windows\system32\drivers`目录。
### STM32 USB模块的中断处理
STM32的USB模块可以产生三种中断类型,分别是USB唤醒中断、USB高优先级中断和USB低优先级中断。它们各自在中断向量表中的位置和触发条件如下:
- **USB唤醒中断**:位于中断向量表的第42位,当USB设备从暂停模式中唤醒时产生。唤醒事件由USB_ISTR寄存器的WKUP位标识。
- **USB高优先级中断**:位于中断向量表的第19位,仅由USB同步模式传输或双缓冲块传输模式下的正确传输事件产生。正确传输事件由USB_ISTR寄存器的CTR位标识。
- **USB低优先级中断**:位于中断向量表的第20位,由所有其他USB事件产生,如正确传输(非同步模式和非双缓冲块模式)、USB复位等。这些事件的标志位在USB_ISTR寄存器中。STM32的USB开发包示例包含了这些中断的处理代码,如CTR_HP函数用于处理USB高优先级中断,而USB_Istr()函数用于处理USB低优先级中断。
### USB设备速度区分与枚举过程
USB设备根据速度的不同,上拉电阻的连接方式也不同:
- **全速和高速设备**:上拉电阻接在D+上。
- **低速设备**:上拉电阻接在D-上。
USB枚举过程是USB设备与主机之间建立通信的过程,包括以下步骤:
1. USB主机检测到USB设备插入后,对设备复位。
2. 主机对设备发送获取设备描述符的标准请求。
3. 设备收到请求后,将设备描述符返回给主机。
4. 主机在成功获取设备描述符且确认无错误后,返回一个0长度的状态数据包给设备。
5. 主机再次复位设备,然后进入设置地址阶段。
6. 主机发出设置地址的请求,地址包含在建立包中。
7. 设备收到地址后,返回0长度的状态包。
8. 主机收到状态包后,返回一个ACK,设备在收到ACK后可以启用新的地址。
### USB虚拟串口使用注意事项
使用USB虚拟串口时,应注意以下几点:
- 上拉控制位使能时,主机才能检测到USB设备。
- 设备插入时,地址为0,由主机分配地址。
- 枚举结束前(即设备被识别前),不能中断程序,否则设备不能被识别。
- 设备发送数据时,应注意数据长度。例如usb_SendDataToHost("\r\n$ERRCMD#\r\n", 10)中的数据长度为10,而不是16。
### USB设备通信的特殊现象
USB设备在通信过程中,由于主机每1ms会发送一个start of frame (SOF)信号,如果设备在3ms内没有响应,主机可能会挂起。因此,设备在通信过程中频繁地进入中断属于正常现象。
### 附件内容说明
压缩包中包含的文件名称列表和相关描述:
- **FkMI5tC24gqd6QuoVmNbFR7Kz7jb.png**:可能是某个电路图或方案的截图。
- **FklqM39VK92MM6zhUva5JkkZJCcX.png**:可能是工程相关的图表或文档截图。
- **Fi1tZVGEzq3WLvT0kfOuvzLrqESA.png**:可能是某个模块的图像或方案的截图。
- **Fp2Zfa9i8QLXN897SyKLmMAePy8f.png**:可能是USB设备或连接方式的图像。
- **STM32虚拟串口PC机驱动(配合USB虚拟串口例程使用).rar**:包含STM32虚拟串口的PC机驱动安装程序和相关例程。
- **Ex023-USB虚拟串口通信例程(V2.0_2011-10-16).rar**:一个特定版本的USB虚拟串口通信例程。
- **mdmcpq.inf_usbser.sys.rar**:包含mdmcpq.inf和usbser.sys文件,用于解决USB虚拟串口驱动安装问题。
- **相关设计文档.zip**:可能包含了电路设计图纸、软件设计方案、原理说明等文档。
以上总结了USB虚拟串口的安装、配置、使用方法以及STM32在USB通信中的中断处理等相关知识点。
点击了解资源详情
点击了解资源详情
点击了解资源详情
348 浏览量
2021-09-30 上传
2011-08-12 上传
2024-03-20 上传
2020-03-20 上传
2018-12-01 上传
weixin_38532629
- 粉丝: 5
- 资源: 921
最新资源
- 老师愿您开心每一天flash动画
- Globalize your Delphi applications without troubles
- ChickenVR-launcher:[已弃用] Chicken VR的启动器
- card-animation:简单的卡片动画
- bio331_2021:2021年生物信息学的注释和代码
- 投诉人:Accuser是一个轻量级的框架包装程序,可让您编写Github机器人来监视“拉取”请求并将人员分配给PR
- mkb:合作知识提炼嵌入知识库
- my-personal-site.io
- com_helloworld:创建组件是为了了解创建Joomla组件的过程
- Talent Eye Beta-crx插件
- vdrift:VDrift源代码
- addupstream:一个小的cli,可自动将上游遥控器添加到git项目中
- JSON2.jl:使用Julia类型快速进行JSON编组
- 毕业设计&课设-该项目旨在使移动机械手youBot从初始配置中拾取立方体并将其运输到所需的位置….zip
- Outils de productivité Rakuten-crx插件
- terrafirma:用于Terraform计划的静态分析工具