songqian17 发表于 2023-1-9 23:41

stm32L476使用HAL库做flash保存失败请教

stm32L476使用HAL库做flash保存功能,如果关闭程序其他功能,flash保存是正确的,但是我有两个外围使用的是spi接口,IO中断触发spi数据收发,只要这个外围一初始化,flash就会写失败。返回错误吗是HAL_ERROR。请问有遇到过此问题的没有?

songqian17 发表于 2023-1-9 23:44

之前网上看见帖子说和中断有关系,但是我在操作flash 的时候关闭所有中断也不起作用。

supernan 发表于 2023-1-9 23:46

读写外部FLASH吧;

huwr 发表于 2023-1-9 23:47


先试试直接搞,能否读写

juventus9554 发表于 2023-1-9 23:53

应该是哪里被干扰了,或者SPI模式被你重新配置了

renyaq 发表于 2023-1-9 23:56

用示波器对比下:可以读写正确和错误的时序上有何不同;

songqian17 发表于 2023-1-9 23:57

漏说了,我读取的是cpu内部的flash

lizye 发表于 2023-1-9 23:59

你说的情况我也遇到过,对SPI操作以后(我通过调试一步一步观察,发现调用SPI库去初始化会导致片内FLASH模块的状态寄存器的某几个位置位,这几个位为内部FLASH异常),我在使用内部FLASH之前会把由SPI导致的这几个寄存器 给清掉,

stly 发表于 2023-1-11 22:31


清掉由SPI导致的FLASH的状态寄存器:__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR | FLASH_SR_PGPERR);

dengdc 发表于 2023-1-11 22:33

每次读写前都初始化一边读写。。。

songqian17 发表于 2023-1-11 22:35

我现在将程序中或者判断标志位的判断去掉,或者提前清除,解决的问题。但是稳不稳定还需要观察

zwll 发表于 2023-1-11 22:37

看看时钟出没处问题

chenho 发表于 2023-1-11 22:39


是不是干扰到flash的时序了

pengf 发表于 2023-1-11 22:40

在此期间有别的操作打断它吗

jiajs 发表于 2023-1-11 22:42

时钟振动正常吗

heweibig 发表于 2023-1-11 22:44

每次都是这种结果吗

jlyuan 发表于 2023-1-11 22:47


周围环境的电磁干扰厉害吗

zhaoxqi 发表于 2023-1-11 22:49

引脚有没有复用的?

songqian17 发表于 2023-1-11 22:52

嗯,预料中的结果,多谢大家啦
页: [1]
查看完整版本: stm32L476使用HAL库做flash保存失败请教