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)
审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
GND(接地)连接在电子设计和硬件开发中至关重要,错误的GND连接可能导致电路不稳定、信号干扰甚至设备损坏。以下是一些常见的GND连接错误及其解决方案: 一、GND网络未连接 问题描述 : 在
发表于 11-29 16:02
•1206次阅读
在SQL数据库开发和管理中,常见的错误代码及其解决方案可以归纳如下: 一、语法错误(Syntax Errors) 错误代码 :无特定代码,但通常会在
发表于 11-19 10:21
•1656次阅读
:错误处理能够确保程序在遇到异常情况时不会崩溃,而是能够优雅地处理问题。 提升用户体验 :通过适当的错误处理,可以给用户提供清晰的错误信息,避免用户感到困惑。 便于调试和维护 :良好的错误
发表于 11-01 17:47
•862次阅读
电子发烧友网站提供《解决USB音频DAC和解码器设计中的计数错误.pdf》资料免费下载
发表于 10-21 10:03
•0次下载
电子发烧友网站提供《电感很烫是短路了吗.docx》资料免费下载
发表于 09-04 11:31
•0次下载
多功能数字接口转发器,让USB和串行接口轻松实现双向通信! 高性能USB转串口适配器,助力你的嵌入式程序开发! USB转串口适配器可编程
发表于 08-06 09:54
•236次阅读
本模块主要提供管理USB设备的相关功能,包括查询USB设备列表、批量数据传输、控制命令传输、权限控制等。
发表于 07-05 17:34
•735次阅读
usb fallback 这个是主要什么作用
发表于 07-04 07:21
: 0x103[0m
之后发现无法收到USB的数据了,请问这是什么原因导致出现这个错误的?
下面是原来的代码
void xfer_in_data()
{
ESP_LOGD(\"\"
发表于 06-28 06:24
CAN总线通信威廉希尔官方网站
广泛应用于多个行业,是每个总线设计工程师必学的一个通讯网络。然而,对于CAN通信中的错误帧,许多人仅停留在表面了解,缺乏深入理解,这导致许多工程师在面对总线通信故障时感到无从下手
发表于 06-12 08:24
•2715次阅读
“被动错误标志”。站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出
发表于 04-26 08:25
•1621次阅读
”,而在SBBulkSourceSink固件中没有显示这个错误,可不可以证明我的FPGA和USB之间通信成功?另外,我该如何排查FPGA与USB之间的芯片通信问题?
发表于 02-27 06:46
这篇开始使用 M62 板子来实现 USB 的设备开发,首先从最简单的 USB HID 键盘开始。固件的 SDK 使用的是 CherryUSB 开源 USB 固件。CherryUSB 是
发表于 02-26 11:31
•1919次阅读
英飞凌科技(Infineon Technologies)近日宣布推出全新的CYUSBS236 USB 转串行通信(双通道)开发套件。该开发套件基于英飞凌的CY7C65215 USB 串
发表于 01-24 17:12
•894次阅读
VB运行时错误429代表不能创建对象的错误。这个错误可能会发生在使用CreateObject函数或New关键字创建对象时。 这种错误通常发生
发表于 01-09 11:07
•2336次阅读
评论