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)

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

    关注

    6074

    文章

    45340

    浏览量

    663640
  • 数据传输
    +关注

    关注

    9

    文章

    2076

    浏览量

    67174
  • USB开发
    +关注

    关注

    0

    文章

    5

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    USB设计操作指南:硬件关键与LuatOS API开发技巧!

    本文以Air780EPM系列低功耗模组为实例,分享USB接口硬件设计的要点以及LuatOS高效开发API的助力作用。旨在指导开发者在设计中规避常见陷阱,高效构建稳定可靠的USB应用。
    的头像 发表于 11-11 18:29 105次阅读
    <b class='flag-5'>USB</b>设计操作指南:硬件关键与LuatOS API<b class='flag-5'>开发</b>技巧!

    USB设计全程攻略:硬件关键点与LuatOS API开发指南!

    本文将分享USB接口硬件设计的关键要点,并探讨LuatOS高效开发API的运用。期望助力开发者在设计时避开常见陷阱,迅速实现稳定可靠的USB应用开发
    的头像 发表于 11-11 18:29 111次阅读
    <b class='flag-5'>USB</b>设计全程攻略:硬件关键点与LuatOS API<b class='flag-5'>开发</b>指南!

    进线电抗器安装位置不对,效果大打折扣!中招了吗

    为什么进线电抗器安装位置不对,效果大打折扣?很多工厂都犯了这个错误!进线电抗器是保护变频器的关键设备,但它的效果很大程度上取决于安装位置。许多工厂的电气工程师在安装时,只关注电抗器本身,却忽略了安装
    的头像 发表于 11-04 16:46 435次阅读
    进线电抗器安装位置不对,效果大打折扣!<b class='flag-5'>你</b>中招<b class='flag-5'>了吗</b>?

    使用nRF52840芯片的USB Host 功能参考例程

    Host 示例 Nordic 的 nRF5 SDK(或 nRF Connect SDK,取决于使用的开发框架)中包含专门的 USB Host 示例,路径通常如下: nRF5 SDK(传统 SDK
    发表于 10-31 12:47

    调用完成USB复位API之后,通过USB发送指令,USB设备报错,是什么原因导致的?

    调用完成复位指令之后,我通过USB OUT发送指令下去,显示错误。请问这个问题出现在哪里? 
    发表于 07-24 07:38

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

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

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

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

    所以做出来了吗

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

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

    有没有遇到过这种情况:传感器数据延迟、工业设备控制卡顿、高清视频采集画面有延时,明明设备都接上了,怎么感觉反应慢一拍?别急,很有可能是在“USB对比PCIE延迟”这个关键点上,没选
    的头像 发表于 05-30 11:13 1968次阅读
    工业人必读!<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 3376次阅读

    了解非通用 USB 技术

    设计电子产品 USB 功能的工程指南 作者: Shawn Wasserman 任何 20 世纪 90 年代见过(或设计过)消费电子产品的工程师都知道,没有标准数据和电源连接的年代是多么痛苦。在这个
    的头像 发表于 01-25 16:53 1052次阅读
    了解非通用 <b class='flag-5'>USB</b> 技术

    RTOS中的错误检查机制

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

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

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