STM32F407 + USB3300 实现大容量 U 盘读写

一、硬件接线

STM32F407USB3300说明
OTG_HS_ULPI_CKCK60 MHz 时钟
OTG_HS_ULPI_D0…D7D0…D78 位数据
OTG_HS_ULPI_DIRDIR方向信号
OTG_HS_ULPI_NXTNXT下一字节
OTG_HS_ULPI_STPSTP停止信号
VBUS5 V主机供电(P-MOS 开关)
GNDGND共地

注意USB3300 必须 3.3 V 供电60 MHz 晶振 + 18 pF 起振电容


二、CubeMX 配置

  1. RCC:HSE = 25 MHz,PLL = 168 MHzUSB OTG HS = 48 MHz
  2. USB_OTG_HS:Mode =Host_OnlyExternal PHY = ULPI
  3. USB_HOST:Class =MSCDMA = EnableFIFO = 1.25 KB
  4. FatFS:Interface =USB DiskCODE_PAGE = 936 (GBK)
  5. DMAUSB_OTG_HS_RX/TX FIFO DMA突发长度 = 4

三、Keil 工程

1. 磁盘 I/O 移植
/* usbd_diskio.c 已由 CubeMX 生成,直接调用 USBH_MSC_Read/Write */#include"usbh_msc.h"externUSBH_HandleTypeDef hUsbHostFS;DSTATUSUSBH_disk_initialize(BYTE pdrv){return(USBH_MSC_UnitIsReady(&hUsbHostFS,pdrv))?RES_OK:RES_NOTRDY;}DRESULTUSBH_disk_read(BYTE pdrv,BYTE*buff,DWORD sector,UINT count){return(USBH_MSC_Read(&hUsbHostFS,pdrv,sector,buff,count)==USBH_OK)?RES_OK:RES_ERROR;}DRESULTUSBH_disk_write(BYTE pdrv,constBYTE*buff,DWORD sector,UINT count){return(USBH_MSC_Write(&hUsbHostFS,pdrv,sector,(BYTE*)buff,count)==USBH_OK)?RES_OK:RES_ERROR;}
2. 主函数(大容量读写测试
#include"fatfs.h"#include"usbh_msc.h"#defineBLOCK_SIZE512#defineBLOCK_COUNT2000// 1 MB 测试uint8_tbuf_tx[BLOCK_SIZE];uint8_tbuf_rx[BLOCK_SIZE];voidUSB_Test_MultiBlock(void){FRESULT res;UINT bw,br;DWORD block_addr=1000;// 避开前 1 MB// 填充测试数据for(uint16_ti=0;i<BLOCK_SIZE;i++)buf_tx[i]=i&0xFF;// 多扇区写res=f_write(&file,buf_tx,BLOCK_SIZE*BLOCK_COUNT,&bw);if(res!=FR_OK)printf("Write ERR %d\n",res);// 多扇区读res=f_read(&file,buf_rx,BLOCK_SIZE*BLOCK_COUNT,&br);if(res!=FR_OK)printf("Read ERR %d\n",res);// 校验if(memcmp(buf_tx,buf_rx,BLOCK_SIZE*BLOCK_COUNT)==0)printf("Multi-block OK, %u KB\\n",BLOCK_COUNT/2);elseprintf("Data mismatch\\n");}

参考代码 stm32f407+usb3300-实现大容量u盘读写 www.youwenfan.com/contentcsp/51706.html

四、运行结果

U 盘容量:32 GB 读速度:14.4 MB/s(Class-10) 写速度:10.6 MB/s(Class-10) 多扇区 2000×512 B:0.8 s(1 MB)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1131084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科研利器:快速部署AI图像生成模型进行学术实验

科研利器&#xff1a;快速部署AI图像生成模型进行学术实验 作为一名心理学研究员&#xff0c;你是否曾为实验材料的设计而烦恼&#xff1f;AI图像生成技术为心理学实验提供了全新的可能性&#xff0c;但复杂的部署过程往往让非技术背景的研究者望而却步。本文将介绍如何利用预置…

紫金桥组态软件与国产操作系统—天翼云完成兼容认证

经天翼云科技有限公司与大庆紫金桥软件技术有限公司联合严格测试&#xff0c;共同得出以下结论:大庆紫金桥软件技术有限公司旗下紫金桥跨平台监控组态软件V2.0、紫金桥跨平台实时数据库V3.2与天翼云CTyunOS系统V4.0完成适配工作&#xff0c;满足"功能、性能和可靠性要求&q…

数字员工与熊猫智汇结合AI销冠系统推动企业智能转型与降本增效

数字员工通过自动化与智能化手段&#xff0c;有效优化了企业业务流程&#xff0c;降低了运营成本&#xff0c;提升了整体效率。借助与AI销冠系统的结合&#xff0c;数字员工能够处理大量重复性工作&#xff0c;比如电话外呼和客户信息管理&#xff0c;从而释放了人力资源的压力…

无人值守污水处理控制系统。 西门子200PLC和显控触摸屏编写的智能污水处理控制系统,有上位机...

无人值守污水处理控制系统。 西门子200PLC和显控触摸屏编写的智能污水处理控制系统&#xff0c;有上位机编程软件&#xff0c;带图纸&#xff0c;带PLC程序&#xff0c;上位机画面&#xff0c;真实工程项目&#xff0c;已稳定运行一年多这套无人值守污水处理系统已经稳定运行一…

科哥揭秘:Z-Image-Turbo预置镜像中的隐藏彩蛋与特殊功能

科哥揭秘&#xff1a;Z-Image-Turbo预置镜像中的隐藏彩蛋与特殊功能 如果你正在寻找一款能够快速生成高质量图像的AI工具&#xff0c;Z-Image-Turbo预置镜像绝对值得一试。这款镜像不仅提供了开箱即用的图像生成能力&#xff0c;还隐藏着不少未公开的优化技巧和特殊功能。本文将…

基于几何非线性梁理论和数值增量迭代法的MATLAB求解程序

核心理论与数值方法 大变形悬臂梁的分析需要使用几何非线性有限元方法&#xff0c;核心在于考虑位移与应变的非线性关系。本程序采用以下方法&#xff1a; 增量载荷法&#xff1a;将总载荷分为多个小步逐步施加牛顿-拉弗森迭代&#xff1a;在每步载荷增量内进行平衡迭代更新拉格…

MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺...

MATLAB代码&#xff1a;基于多时间尺度滚动优化的多能源微网双层调度模型 关键词&#xff1a;多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档&#xff1a;《Collaborative Autonomous Optimization of Interconnected Multi-Energy Systems with Two-Stage Trans…

13个值得收藏的开源项目推荐,学习编程的你一定不能错过的宝藏资源!

✅ 包含编程资料、学习路线图、源代码、软件安装包等&#xff01;【[点击这里]】&#xff01; 前言 新的一年&#xff0c;前端领域再次掀起波澜壮阔的变革。开源世界日新月异&#xff0c;每天都有新奇的惊喜涌现。我们精心整理了15个令人眼前一亮的开源项目&#xff0c;涵盖了…

智慧园区:引领时代发展的创新引擎

在科技飞速迭代的今天&#xff0c;智慧园区作为一种创新的区域发展模式&#xff0c;正逐步成为驱动时代进步的核心引擎。它以信息技术为核心基座&#xff0c;深度融合物联网、大数据、人工智能等前沿技术&#xff0c;实现园区管理的智能化升级与高效化运转&#xff0c;既为企业…

Python+Matplotlib:大数据可视化的高效解决方案

Python+Matplotlib:大数据可视化的高效实践指南——从百万级数据到交互式图表 一、引言:大数据可视化的「痛」与「解」 你有没有过这样的崩溃瞬间? 面对100万行的用户行为数据,用Matplotlib画折线图时,程序卡了5分钟还没出图;想做个能拖动时间轴的交互式图,却不知道怎…

AI艺术风格迁移:基于Z-Image-Turbo的快速实验方法

AI艺术风格迁移&#xff1a;基于Z-Image-Turbo的快速实验方法 如果你是一位数字艺术家&#xff0c;想要快速尝试不同艺术风格的迁移效果&#xff0c;但又不想花费大量时间训练自定义模型&#xff0c;那么Z-Image-Turbo可能是你的理想选择。这款由阿里巴巴通义实验室开源的6B参…

导师不会告诉你的9款AI论文神器,AIGC率低至13%!

90%的学生都在为论文查重和AI率超标而焦虑&#xff0c;却不知道有些工具能将AIGC率轻松压到13%以下。这篇文章&#xff0c;我将揭露那些学术圈“秘而不宣”的智能工具&#xff0c;以及如何巧妙利用它们&#xff0c;让你的论文写作效率翻倍&#xff0c;同时完美避开学术风险。 从…

基于Vue的迅读网上书城22f4d(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末

系统程序文件列表系统功能用户,书籍分类,书籍信息,书籍类型开题报告内容基于Vue的迅读网上书城开题报告一、选题背景与意义&#xff08;一&#xff09;选题背景随着互联网技术的飞速发展&#xff0c;电子商务已成为现代商业活动的重要组成部分&#xff0c;深刻改变了人们的购物…

8步出图不是梦:手把手教你用云端Z-Image-Turbo实现高效创作

8步出图不是梦&#xff1a;手把手教你用云端Z-Image-Turbo实现高效创作 作为一名内容创作者&#xff0c;你是否曾被AI图像生成的无限可能所吸引&#xff0c;却又被复杂的框架安装、依赖管理和显存问题劝退&#xff1f;今天我要分享的Z-Image-Turbo镜像&#xff0c;正是为解决这…

云渲染时能否关机或断网?

在影视动画制作、建筑可视化设计等领域&#xff0c;云渲染凭借强大的云端算力&#xff0c;成为解放本地设备、提升工作效率的核心工具。但很多用户在使用时都会有一个核心疑问&#xff1a;提交云渲染任务后&#xff0c;本地电脑能不能关机或断网&#xff1f;其实答案并非简单的…

实战案例分享】利用三菱PLC和组态王实现智能化鸡舍温湿度控制系统,提升养鸡场效益

基于三菱PLC和组态王鸡舍温湿度控制养鸡场鸡舍环境控制是现代化养殖的关键环节。三菱FX3U PLC配合组态王软件搭建的温湿度监控系统&#xff0c;让养鸡场的环境参数管理变得直观可控。这套系统的核心逻辑其实并不复杂——传感器采集数据&#xff0c;PLC处理逻辑&#xff0c;上位…

多智能体系统如何评估公司的可持续发展能力

多智能体系统如何评估公司的可持续发展能力关键词&#xff1a;多智能体系统、公司可持续发展能力评估、人工智能、数据分析、决策支持摘要&#xff1a;本文旨在深入探讨多智能体系统在评估公司可持续发展能力方面的应用。通过详细介绍多智能体系统的核心概念、算法原理、数学模…

基于Vue的学生作业管理系统3u509(程序 + 源码 + 数据库 + 调试部署 + 开发环境配置),配套论文文档字数达万字以上,文末可获取,系统界面展示置于文末

系统程序文件列表系统功能学生,教师,课程类型,课程信息,课程资料,学生作业,作业提交,作业批改开题报告内容基于Vue的学生作业管理系统开题报告一、研究背景与意义1.1 研究背景在教育信息化快速发展的背景下&#xff0c;传统作业管理模式依赖纸质作业和人工批改&#xff0c;存在…

胜利大逃亡_抄底逃顶看得清的指标公式

{}VAR1:(HHV(HIGH,36)-CLOSE)/(HHV(HIGH,36)-LLV(LOW,36))*100; VAR2:(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100; BBB: SMA(VAR2,5,1)-8,LINETHICK2,COLORRED; P:1.5; OB:BBB; A1:REF(OB,P)HHV(OB,2*P1); B1:FILTER(A1,P); C1:BACKSET(B1,P1); D1:FILTER(C1,P);{高点} …

全网最细,银行信用卡项目测试点+面试题(详细2)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 他行借记卡转本行…