box888 发表于 2020-6-2 13:19:16

STM32F429I spi读取flash id正常,无法写和读数据

我用的主控芯片是STM32F429IGTx。
我参考“【野火】零死角玩转STM32—F429挑战者”文档的“第24章 SPI—读写串行 FLASH”,
现象如下
1、读取“DeviceID”,“FlashID”都成功且正确。
2、写入数据之后 ,读取出来的都是000000.
能否帮分析一下问题产生的可能 原因?
非常感谢!



andeyqi 发表于 2020-6-2 17:49:28

读取id是正常的说明SPI通信配置是没有问题的,数据不对建议查查数据手册读写的时序,命令是不是有问题。

ldptest 发表于 2020-6-3 10:01:57

写数据前是否擦除芯片?

stm1024 发表于 2020-6-3 10:32:36

SPI写数据之前必须要擦除,而且要按page擦除,这种储存器不像EEPROM可以随机寻址和单个字节读写。
另外,检查一下,是否有可能是写保护了?一般的Flash芯片都会有一个WP的引脚(Write Protect),看看它的电平是否允许写数据

mikecai 发表于 2020-6-3 13:38:53

要确定是读程序还是写程序的问题,方法如下:
换个您了解具体地址及内容的flash,先选读处理,看读出是否OK,调试你的读程序,细对比协议,直到OK
再 接着处理写操作程序。

butterflyspring 发表于 2020-6-9 16:58:09

各位大神说得都很有道理,建议楼主耐心的看看产品手册,了解FLASH操作的具体时序,对比软件驱动架构,看看是否符合。不是针对该型号的驱动都需要调整一下的。:)

ldptest 发表于 2020-6-18 17:05:39

楼主能否把问题原因写上,其他兄弟参考,不要再犯同样错误。
页: [1]
查看完整版本: STM32F429I spi读取flash id正常,无法写和读数据