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)

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

    关注

    6068

    文章

    45037

    浏览量

    652447
  • 数据传输
    +关注

    关注

    9

    文章

    2026

    浏览量

    66192
  • USB开发
    +关注

    关注

    0

    文章

    5

    浏览量

    9818
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在使用示波器探测时,犯过这7大错误吗?

    不尽相同,每次探测设备,需要选择对测量影响最小的探头,这是成功测量的关键。以下这些错误,是大家在测量过程中最常见的,请牢记它们并在平时的测量中规避这些错误,以便获
    的头像 发表于 07-23 17:33 ?162次阅读
    在使用示波器探测时,<b class='flag-5'>你</b>犯过这7大<b class='flag-5'>错误</b>吗?

    电商API常见错误排查指南:避免集成陷阱

    ? 在电商平台开发中,API集成是连接系统、实现数据交换的核心环节。然而,许多开发者在集成过程中常遇到错误,导致项目延迟、数据丢失或用户体验下降。本文将逐步介绍常见错误类型、排查方法以
    的头像 发表于 07-11 14:21 ?175次阅读
    电商API常见<b class='flag-5'>错误</b>排查指南:避免集成陷阱

    所以做出来了吗

    所以做出来了吗,求
    发表于 06-16 01:43

    工业人必读!USB对比PCIE延迟分析,选错接口可能多花50%成本!

    有没有遇到过这种情况:传感器数据延迟、工业设备控制卡顿、高清视频采集画面有延时,明明设备都接上了,怎么感觉反应慢一拍?别急,很有可能是在“USB对比PCIE延迟”这个关键点上,没选
    的头像 发表于 05-30 11:13 ?943次阅读
    工业人必读!<b class='flag-5'>USB</b>对比PCIE延迟分析,选错接口<b class='flag-5'>你</b>可能多花50%成本!

    2.0 USB集线器CYUSB2304-68LTXI在重新枚举全速设备时出现错误怎么解决?

    dmesg 日志,例如: usb 6-1.4:清除 tt 1 (9052) 错误 -32 我也看到了集线器本身的类似错误 usb 6-1:清除 tt 3 (9052)
    发表于 05-19 07:32

    使用EZ-USB? SUITE构建img文件并决定将示例程序下载到开发板时,遇到一个名为“Bootloader未运行”的错误,怎么解决?

    将示例程序下载到开发板时,遇到一个名为“Bootloader 未运行”的错误。 请重置您的设备以下载固件“ 我曾经尝试按下野猪上的重置按钮,但是没有作用。 请帮助我解决这个问题。
    发表于 05-09 06:50

    USB转UART芯片大全:从经典到创新,总有一款适合

    USB转UART芯片大全:从经典到创新,总有一款适合
    的头像 发表于 02-19 14:04 ?1767次阅读

    RTOS中的错误检查机制

    在嵌入式应用中,有可能发生各种各样的错误,系统必须能够检测到这些错误并作出适当的响应。RTOS通常内置了一些错误检查功能,用于检测错误并向应用提供响应
    的头像 发表于 01-03 14:44 ?790次阅读

    【科普系列】LIN协议错误类型介绍

    了解 LIN总线的错误类型对于开发、测试均具有极大的好处。通过对错误类型的全面了解,开发人员可以提前预测和避免潜在的问题,增强系统的稳定性、容错能力和安全性,从而提升系统整体的可靠性和
    的头像 发表于 01-02 17:27 ?4175次阅读
    【科普系列】LIN协议<b class='flag-5'>错误</b>类型介绍

    常见的GND连接错误及解决方案

    GND(接地)连接在电子设计和硬件开发中至关重要,错误的GND连接可能导致电路不稳定、信号干扰甚至设备损坏。以下是一些常见的GND连接错误及其解决方案: 一、GND网络未连接 问题描述 : 在
    的头像 发表于 11-29 16:02 ?6448次阅读

    SQL错误代码及解决方案

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

    socket编程中的错误处理技巧

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

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

    电子发烧友网站提供《解决USB音频DAC和解码器设计中的计数错误.pdf》资料免费下载
    发表于 10-21 10:03 ?1次下载
    解决<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 ?594次阅读