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开发技巧!
USB设计全程攻略:硬件关键点与LuatOS API开发指南!
进线电抗器安装位置不对,效果大打折扣!你中招了吗?
使用nRF52840芯片的USB Host 功能参考例程
调用完成USB复位API之后,通过USB发送指令,USB设备报错,是什么原因导致的?
在使用示波器探测时,你犯过这7大错误吗?
电商API常见错误排查指南:避免集成陷阱
工业人必读!USB对比PCIE延迟分析,选错接口你可能多花50%成本!
2.0 USB集线器CYUSB2304-68LTXI在重新枚举全速设备时出现错误怎么解决?
使用EZ-USB™ SUITE构建img文件并决定将示例程序下载到开发板时,遇到一个名为“Bootloader未运行”的错误,怎么解决?
了解非通用 USB 技术
RTOS中的错误检查机制
【科普系列】LIN协议错误类型介绍

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