news 2026/5/27 23:06:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 23:47:02

手机号码隐藏中间4位

以下方法都是使用正则的方式 JAVA val phone"182345678902"; const phoneReg /^1\d{10}$/; if (!phoneReg.test(phone)) {console.log(手机号格式错误);return false; } var replacephone.replace(/(\d{3})\d{4}(\d{4})/, $1****$2);JS String phone"182345678…

作者头像 李华
网站建设 2026/5/22 23:16:57

Linux scp命令:高效远程文件传输指南

使用scp命令复制远程文件到本地 scp&#xff08;secure copy&#xff09;是基于SSH协议的安全文件传输工具&#xff0c;适用于Linux/Unix系统之间的文件传输。 从远程服务器复制文件到本地 基本语法格式&#xff1a; scp [选项] 用户名远程服务器IP:远程文件路径 本地目标路径常…

作者头像 李华
网站建设 2026/5/24 7:45:39

Z-Image-Turbo商业应用指南:从快速验证到稳定部署的全流程

Z-Image-Turbo商业应用指南&#xff1a;从快速验证到稳定部署的全流程 作为一名产品经理&#xff0c;当你需要评估Z-Image-Turbo在企业应用中的可行性时&#xff0c;技术团队资源紧张可能会成为一大障碍。本文将带你从零开始&#xff0c;自主完成从原型验证到生产部署的全流程测…

作者头像 李华
网站建设 2026/5/16 18:37:10

上海警惕!广宣费新规别乱用,这些坑让你补税,章鱼问账帮你查

上海警惕&#xff01;广宣费新规别乱用&#xff0c;这些坑让你补税&#xff0c;章鱼问账帮你查2026年1月4日上海落地的广宣费跨企业分摊政策&#xff0c;确实给集团化、连锁型企业开了省税通道&#xff0c;但不少企业主只盯着“省税”&#xff0c;却忽视了关联企业认定、额度核…

作者头像 李华
网站建设 2026/5/13 14:32:19

化工消泡剂的关键作用与应用

在化工生产中&#xff0c;废水处理是保障环境安全与生产效率的关键环节&#xff0c;而废水中的泡沫问题却常成“绊脚石”。泡沫会降低污水处理设备运行效率&#xff0c;引发污泥流失、水质波动&#xff0c;甚至带来安全隐患。化工消泡剂凭借有效、稳定、适应性强的特性&#xf…

作者头像 李华