
最近用STM32H7B0 QSPI调试华邦的W25Q128JV Flash,调了一个多星期都没搞定,现在的问题是连读ID都读不出来。 从代码,到硬件,到芯片,各方面都已经反复确认,都没有发现问题,都不知道该怎么办了,甚至flash都换了好几颗。 有使用STM32H7B0 +QSPI调试成功的吗,希望能分享下,十分感激。 以下是我的OCTOSPI配置,配置成QSPI 4线模式,STM32CubeMX版本是v6.14 ![]() ![]() 包括QSPI的的几个引脚,都反复确认过,没有问题,也量过芯片引脚到W25Q128芯片之间的通路,也是通的,芯片均无虚焊,换过好几个W25Q128芯片,问题都一样。 下面是读ID的函数,该函数移植的是反客的7B0代码,从W25Q64上改过来的,对比了一下,读取指令都一样,应该也没问题 ![]() 程序是卡在HAL_OSPI_Command(&_hospi1, &sCommand, HAL_OSPI_TIMEOUT_DEFAULT_VALUE)这个函数这里了,这个函数每次都返回1,1好像是操作错误。 正常应该是返回HAL_OK,但是每次都返回1的错误,不知道为什么这里会有问题。 这个函数HAL_OSPI_Command是发送指令到W25Q128芯片,应该发送失败了,我检查了硬件也没发现问题,不知道为什么老是配置失败。 读取ID 的指令,W25Q128JV的读取JEDECID的指令是0x9F, 其他配置都是用1线指令,1线数据去读,我反复对比和研究了配置,没看出有什么问题。 现在已经陷入僵局了,不知道还有什么方向,难道我换的几个flash都有问题?或者我的STM32H7B0也有问题? 希望用过STM32H7B0+QSPI W25Q128JV的大佬能给点方向,感谢 |
STM32H723VGT6的唯一DFSDM的时钟可以同时输出给2个sigma-delta吗?
如何利用TIM1触发HRTIM TIMA生成频率为20Hz的100ns脉冲波?
STM32H7+SAI+DMA双缓冲配置失败.
STM32H743+SDRAM
stm32h750xbh6程序运行在外部qspi flash中为什么lwip读取的数据和发送方的不一样?
STM32H755生成的stm32CubeIde的TouchGFX designer生成代码出错。
STM32H755的TouchGFX不能选择M7内核
STM32H755的TouchGFX如何使能Cortex-M7
FW_H7 V1.12.1-HAL库DMA双缓冲配置
手机端哪里可以查草稿
例程在这个地方: \STM32Cube_FW_F7_V1.17.2\Projects\STM32746G-Discovery\Applications\QSPI\QSPI_perfs