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端出现一个interwetten与威廉的赔率体系 串口,通过串口助手打开这个串口,然后实现数据的双向传输。最后我们聊一下很多工程师都会忽视的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)

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

    关注

    6037

    文章

    44558

    浏览量

    635309
  • 数据传输
    +关注

    关注

    9

    文章

    1891

    浏览量

    64601
  • USB开发
    +关注

    关注

    0

    文章

    5

    浏览量

    9712
收藏 人收藏

    评论

    相关推荐

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

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

    SQL错误代码及解决方案

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

    socket编程中的错误处理技巧

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

    解决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 236次阅读

    鸿蒙开发设备管理:ohos.usb USB管理

    本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
    的头像 发表于 07-05 17:34 735次阅读
    鸿蒙<b class='flag-5'>开发</b>设备管理:ohos.<b class='flag-5'>usb</b> <b class='flag-5'>USB</b>管理

    usb fallback这个是主要什么作用?

    usb fallback 这个是主要什么作用
    发表于 07-04 07:21

    esp32-s2-usb-host-cdc示例程序接收错误怎么处理?

    : 0x103[0m 之后发现无法收到USB的数据了,请问这是什么原因导致出现这个错误的? 下面是原来的代码 void xfer_in_data() { ESP_LOGD(\"\"
    发表于 06-28 06:24

    一文读懂CAN通讯错误

    CAN总线通信威廉希尔官方网站 广泛应用于多个行业,是每个总线设计工程师必学的一个通讯网络。然而,对于CAN通信中的错误帧,许多人仅停留在表面了解,缺乏深入理解,这导致许多工程师在面对总线通信故障时感到无从下手
    的头像 发表于 06-12 08:24 2715次阅读
    一文读懂CAN通讯<b class='flag-5'>错误</b>帧

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

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

    如何排查FPGA与USB之间的芯片通信问题?

    ”,而在SBBulkSourceSink固件中没有显示这个错误,可不可以证明我的FPGA和USB之间通信成功?另外,我该如何排查FPGA与USB之间的芯片通信问题?
    发表于 02-27 06:46

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

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

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

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

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

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