You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32F407实现W25Q16快速读取双输出模式遇问题求助

W25Q16 Fast Read Dual Out 模式数据错误排查求助

我一直在为W25Q16外部闪存编程,目标是实现Fast Read Dual Out模式——该模式下MISO和MOSI引脚均作为STM32主机的输入,理论上数据读取速度可翻倍。目前我的SPI运行在40MHz,普通读取模式下使用DMA能获得正确带宽,读取20KB数据耗时约4.150毫秒。

但按照手册第30页的说明发送Fast Read Dual Output指令后,不仅没达到预期的双倍数据速率,还出现了数据错误。我已在闪存的512Byte空间写入预定义值用于对比验证:普通读取模式下数据完全正确,切换到Fast Read Dual Out模式后数据却损坏了。

我不清楚是否需要在执行快速读取双输出操作前对GPIO进行特殊配置,或是遗漏了手册未提及的特定步骤。恳请有相关经验的开发者给予指导。

我的SPI初始化参数如下:

inSPIHandle->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
inSPIHandle->Init.CLKPhase = SPI_PHASE_1EDGE;
inSPIHandle->Init.CLKPolarity = SPI_POLARITY_LOW;
inSPIHandle->Init.CRCPolynomial = SPI_CRCPR_CRCPOLY;
inSPIHandle->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLED;
inSPIHandle->Init.DataSize = SPI_DATASIZE_8BIT;
inSPIHandle->Init.Direction = SPI_DIRECTION_2LINES;
inSPIHandle->Init.FirstBit = SPI_FIRSTBIT_MSB;
inSPIHandle->Init.Mode = SPI_MODE_MASTER;
inSPIHandle->Init.NSS = SPI_NSS_SOFT;
inSPIHandle->Init.TIMode = SPI_TIMODE_DISABLE;

内容的提问来源于stack exchange,提问作者Sheikh Muhammad Junaid Aslam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 09:45:12