加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

USB虚拟串口的资料汇总(包括USB虚拟串口例程)

2015/09/24
12
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(3)
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

下面几条是我在学习过程中记录下来的问题的解决办法,或者是小知识点,给需要的朋友分享学习。

安装USB虚拟COM口驱动时出现“INF中的服务段落无效”,解决方法如下:

  1. 下载mdmcpq.inf和usbser.sys
  2. 将mdmcpq.inf复制到c:windowsinf
  3. 将usbser.sys复制到c:windowssystem32drivers

小技巧:比如要打开c:windowsinf,只要在地址栏(IE输入网址的地址栏和我的电脑里的地址栏都一样),输入c:windowsinf即可打开。

STM32的USB模块可以产生三种中断:USB唤醒中断、USB高优先级中断和USB低优先级中断。

在STM32的参考手册中没有详细说明这三种中断对应哪些事件,现说明如下:

  1. USB唤醒中断:在中断向量表中的位置是42。这个中断在USB设备从暂停模式唤醒时产生,唤醒事件由USB_ISTR寄存器的WKUP位标识。 
  2. USB高优先级中断:在中断向量表中的位置是19。这个中断仅由USB同步(Isochronous)模式传输或双缓冲块(Bulk)传输模式下的正确传输事件产生,正确传输事件由USB_ISTR寄存器的CTR位标识。 
  3. USB低优先级中断:在中断向量表中的位置是20。这个中断由所有其它的USB事件产生,例如正确传输(不包括同步模式和双缓冲块模式)、USB复位等,事件标志位在USB_ISTR寄存器中。在STM32的USB开发包的例子中包含了上述中断的处理,例如在USB扬声器的例子中,CTR_HP函数处理USB高优先级中断;在所有例子中都有USB_Istr()函数处理USB低优先级中断。

USB如何区分低速、全速和高速设备:对于全速和高速设备,上拉电阻是接在D+上;而低速设备则是上拉电阻接在D-上。

USB枚举过程:

  1. USB主机检测到USB设备插入后,对设备复位。
  2. USB主机对设备发送获取设备描述符的标准请求。
  3. 设备收到该请求后,在数据过程将设备描述符返回给主机。
  4. 主机在成功获取到一个数据包的设备描述符后并且确认无错误后,返回一个0长度的状态数据包给设备。
  5. 主机再对设备复位一下,接下来进入到设置地址阶段。
  6. USB主机发出一个设置地址的请求,地址包含在建立包中。
  7. USB设备在收到地址后,返回0长度的状态包。
  8. 主机收到0长度的状态包之后,返回一个ACK。
  9. 设备在收到这个ACK之后,就可以启用新的地址了。

USB一直进中断的原因:主机每1ms就给设备发送一个sof,3ms没反应主机就挂起。所以一直进中断属于正常现象。

USB虚拟串口使用时应注意:

  1. 用于上拉的控制位使能时,主机能检测到USB设备。
  2. 设备插入时,地址为0,后由主机分配地址。
  3. 枚举结束前(即设备被识别前),不能中断程序,否则设备不能被识别。
  4. 设备发送usb_SendDataToHost("rn$ERRCMD#rn", 10)注意数据长度为10,而不为16.(不知道是不是“$#这样的符号不算,求大神赐教”)

       主机发送“WHO’S DEMO”这类有空格的字符串时,空格会被省略,在设备里计算长度时应为9,而不为10。

附件内容截图:

  • Ex023-USB虚拟串口通信例程(V2.0_2011-10-16).rar
    描述:Ex023-USB虚拟串口通信例程
  • STM32虚拟串口PC机驱动(配合USB虚拟串口例程使用).rar
    描述:STM32虚拟串口PC机驱动
  • mdmcpq.inf_usbser.sys.rar
    描述:mdmcpq.inf_usbser.sys.rar
  • 相关设计文档.zip
    描述:相关设计文档

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TDA1308T/N2,115 1 NXP Semiconductors TDA1308 - Class-AB stereo headphone driver SOIC 8-Pin
$1.4 查看
AD9979BCPZRL 1 Rochester Electronics LLC SPECIALTY CONSUMER CIRCUIT, QCC48, 7 X 7 MM, MO-220VKKD-2, LFCSP-48
暂无数据 查看
THS3201DBVR 1 Texas Instruments 1.8GHz Current Feedback Amplifier 5-SOT-23 -40 to 85
暂无数据 查看

相关推荐

电子产业图谱