完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
USB(Universal Serial Bus)是一种支持热插拔的通用串行总线。它使用差分信号来传输数据,在 USB 1.0和 USB 1.1 版本中,只支持 1.5Mb/s 的低速(low-speed)模式和 12Mb/s 的全速(full-speed)模式,在 USB 2.0 中,又加入了480Mb/s 的高速模式,USB 3.0(super speed),传输速率最大5Gbps。 在 USB 体系中又包括 USB Host(主机)和USB Device(设备)
本文准备资料如下:
本文是基于 U 盘的读写,所以需要准备好一个 U 盘,并插入开发板上的 U 盘接口。 ENV 配置 打开 USB Host RT-Thread 可以很方便的通过 ENV 来配置和生成工程。在 rt-thread/bsp/stm32/stm32f767-atk-apollo 目录下打开 ENV 工具,使用 menuconfig 进入如下配置界面并选中。 ---- Hardware Drivers Config ----On-Chip Peripheral Drivers ----Enable USH Host ----Enable Udisk Drivers配置界面如下图所示 打开文件系统 本文使用的是 USB Host 读写 U 盘的功能,所以需要打开 RT-Thread 的虚拟文件系统功能,打开文件系统的操作如下 ---- RT-Thread Components ----Device virtual file system ----Using device virtual file system配置界面如下图所示 生成工程并下载 在 ENV 中打开 USB Host 和虚拟文件系统的功能之后,工程配置就结束了,退出配置界面并保存。在 ENV 工具中使用 scons --target=mdk5 命令重新生成工程并打开。工程打开之后可以看到 USB Host 的框架代码和驱动代码都已经自动加入到工程里面了,如下图所示 在 main.c 文件中加入以下测试代码并下载 #include 将以上程序下载入开发板之后连接串口调试工具可以看到如下调试信息 这里可以看到 U 盘的大小约为 7.4G,说明 U 盘已经成功挂载到开发板上面的文件系统了。使用文件系统的 ls 命令查看 U 盘目录的结果如下图: 在串口运行导出的 readwrite 测试函数的结果如下图所示 再次使用 ls 命令可以看到在 U 盘的根目录下已经新建了一个 test_u***h.c 文件,并且大小为 120 个字节,如下图所示 我们可以将 U 盘拔出并插在电脑上验证一下我们刚才写入的文件。 从电脑上我们可以看到已经成功创建了一个 test_u***h.c 的文件。到这一步为止,在 STM32 上使用 USB Host 读写 U 盘的介绍就结束了 参考资料 ENV 用户手册 虚拟文件系统 RT-Thread源码 常见问题 Q: 在 rt-thread/bsp/stm32/libraries 目录下没有 drv_u***h.c 文件? A: 该问题一般是当前版本还没有支持 USB Host 的驱动,请使用 RT-Thread 4.0.2+ 的版本进行测试。 Q:工程目录下没有 drv_u***h.c 文件? A: 该问题一般是当前 BSP 没有添加 drv_u***h.c 的驱动,请参考STM32 外设添加指南。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
489 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
1823 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1142 浏览 0 评论
1620 浏览 0 评论
1424 浏览 0 评论
74722 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 12:17 , Processed in 0.596141 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号