0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

USB开发的这个错误你犯了吗

电子设计 来源:电子设计 作者:电子设计 2020-12-24 12:31 次阅读

1.概述

我们已经对USB硬件和数据的四种传输类型有了一个基本的了解。

控制传输(Control Transfers

批量传输(Bulk Data Transfers)

中断传输(Interrupt Data Transfers)

同步传输(Isochronous Data Transfers):

下面我们通过一个例子看一下USB的具体工作过程。在此我们用一个比较实用的例子,就是把我们的板子用USB连接至PC,然后在PC端出现一个模拟串口,通过串口助手打开这个串口,然后实现数据的双向传输。最后我们聊一下很多工程师都会忽视的USB认证问题。

2.例程

我们打开ST的Cube库中的CDC例程:

STM32Cube_FW_F1_V1.8.0ProjectsSTM3210C_EVALApplicationsUSB_DeviceCDC_StandaloneMDK-ARMProject.uvprojx

这个例程用到USB的同时还会用到USART,USB从PC端收到数据后会转发到USART,从USART接收到消息会上传至PC。我们可以把USART的TX和RX短接,这样从PC端下发的数据会原样回传给PC端。

这个例程使用的硬件是STM3210C-EVAL,原理图可以在stmcu.org.cn找到。如果我们使用的是其它板子,就需要在这个工程基础上做一些改动。比如现在我们使用STM32F105RBT6,8M晶振,串口用PTA2,PTA3,那么我们的要做如下修改:

首先,修改使用的MCU

然后修改时钟初始化部分。下图为STM32F105时钟模块示意图。USB工作需要48MHz的时钟。

(STM32F105xx Datasheet)

审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44525

    浏览量

    633261
  • 数据传输
    +关注

    关注

    9

    文章

    1853

    浏览量

    64499
  • USB开发
    +关注

    关注

    0

    文章

    5

    浏览量

    9706
收藏 人收藏

    评论

    相关推荐

    SQL错误代码及解决方案

    在SQL数据库开发和管理中,常见的错误代码及其解决方案可以归纳如下: 一、语法错误(Syntax Errors) 错误代码 :无特定代码,但通常会在
    的头像 发表于 11-19 10:21 585次阅读

    socket编程中的错误处理技巧

    错误处理能够确保程序在遇到异常情况时不会崩溃,而是能够优雅地处理问题。 提升用户体验 :通过适当的错误处理,可以给用户提供清晰的错误信息,避免用户感到困惑。 便于调试和维护 :良好的错误
    的头像 发表于 11-01 17:47 804次阅读

    解决USB音频DAC和解码器设计中的计数错误

    电子发烧友网站提供《解决USB音频DAC和解码器设计中的计数错误.pdf》资料免费下载
    发表于 10-21 10:03 0次下载
    解决<b class='flag-5'>USB</b>音频DAC和解码器设计中的计数<b class='flag-5'>错误</b>

    电感很烫是短路了吗

    电子发烧友网站提供《电感很烫是短路了吗.docx》资料免费下载
    发表于 09-04 11:31 0次下载

    高性能USB转串口适配器,助力的嵌入式程序开发!让USB和串行接口轻松实现双向通信!

    多功能数字接口转发器,让USB和串行接口轻松实现双向通信! 高性能USB转串口适配器,助力的嵌入式程序开发USB转串口适配器可编程
    的头像 发表于 08-06 09:54 208次阅读

    一文读懂CAN控制器错误处理的原理

    “被动错误标志”。站检测到无论是位错误、填充错误、形式错误,还是应答错误这个站会在下一位时发出
    的头像 发表于 04-26 08:25 1548次阅读
    一文读懂CAN控制器<b class='flag-5'>错误</b>处理的原理

    【外设移植】USB键盘+M61开发

    这篇开始使用 M62 板子来实现 USB 的设备开发,首先从最简单的 USB HID 键盘开始。固件的 SDK 使用的是 CherryUSB 开源 USB 固件。CherryUSB 是
    的头像 发表于 02-26 11:31 1802次阅读
    【外设移植】<b class='flag-5'>USB</b>键盘+M61<b class='flag-5'>开发</b>板

    英飞凌推出CYUSBS236 USB转串行通信(双通道)开发套件

    英飞凌科技(Infineon Technologies)近日宣布推出全新的CYUSBS236 USB 转串行通信(双通道)开发套件。该开发套件基于英飞凌的CY7C65215 USB
    的头像 发表于 01-24 17:12 857次阅读

    vb运行时错误429不能创建对象

    VB运行时错误429代表不能创建对象的错误这个错误可能会发生在使用CreateObject函数或New关键字创建对象时。 这种错误通常发生
    的头像 发表于 01-09 11:07 2179次阅读

    CMOS设置错误的解决方法

    CMOS设置错误的解决方法  CMOS是计算机中的一块电路,用于存储电脑的基本配置信息。如果设置错误,可能会导致计算机无法正常启动或运行,因此需要尽早解决。本文将为详细介绍如何解决CMOS设置
    的头像 发表于 12-28 15:13 7991次阅读

    电源时序控制的正确方法,掌握了吗

    电源时序控制的正确方法,掌握了吗
    的头像 发表于 12-15 09:27 1317次阅读
    电源时序控制的正确方法,<b class='flag-5'>你</b>掌握<b class='flag-5'>了吗</b>?

    USB调试模式是什么意思?USB调试模式有什么用?

    USB调试模式是什么意思?USB调试模式有什么用? USB调试模式是一种在Android设备上进行开发、测试和调试的模式。当设备处于USB
    的头像 发表于 12-11 11:06 1.1w次阅读

    IGBT和MOSFET该用谁?选对了吗

    IGBT和MOSFET该用谁?选对了吗
    的头像 发表于 12-08 18:25 2478次阅读
    IGBT和MOSFET该用谁?<b class='flag-5'>你</b>选对<b class='flag-5'>了吗</b>?

    肖特基二极管,真的用对了吗

    肖特基二极管,真的用对了吗
    的头像 发表于 12-07 14:27 542次阅读
    肖特基二极管,<b class='flag-5'>你</b>真的用对<b class='flag-5'>了吗</b>?

    【ELF 1开发板试用】+ 3.2 USB摄像头连接测试 + Ubutu SSH连接

    摄像头,后面会基于这个控制部件,来进行一个简单的开发控制; 未插上时USB总线状态: 插上设备后USB总线状态: 查看USB摄像头支持的分辨
    发表于 12-06 15:37