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

[复制链接]
984|18
 楼主| songqian17 发表于 2020-12-8 23:48 | 显示全部楼层 |阅读模式
stm32L476使用HAL库做flash保存功能,如果关闭程序其他功能,flash保存是正确的,但是我有两个外围使用的是spi接口,IO中断触发spi数据收发,只要这个外围一初始化,flash就会写失败。返回错误吗是HAL_ERROR。请问有遇到过此问题的没有?
 楼主| songqian17 发表于 2020-12-8 23:52 | 显示全部楼层
之前网上看见帖子说和中断有关系,但是我在操作flash 的时候关闭所有中断也不起作用。
yinxiangh 发表于 2020-12-8 23:55 | 显示全部楼层
读写外部FLASH吧;
734774645 发表于 2020-12-9 11:58 | 显示全部楼层
先试试直接搞,能否读写
pangb 发表于 2020-12-9 17:45 | 显示全部楼层
应该是哪里被干扰了,或者SPI模式被你重新配置了
chenho 发表于 2020-12-9 17:48 | 显示全部楼层
用示波器对比下:可以读写正确和错误的时序上有何不同;
 楼主| songqian17 发表于 2020-12-9 17:53 | 显示全部楼层
漏说了,我读取的是cpu内部的flash
ousj 发表于 2020-12-9 17:57 | 显示全部楼层
你说的情况我也遇到过,对SPI操作以后(我通过调试一步一步观察,发现调用SPI库去初始化会导致片内FLASH模块的状态寄存器的某几个位置位,这几个位为内部FLASH异常),我在使用内部FLASH之前会把由SPI导致的这几个寄存器 给清掉,
xxmmi 发表于 2020-12-9 18:02 | 显示全部楼层

清掉由SPI导致的FLASH的状态寄存器:
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR | FLASH_SR_PGPERR);
kangzj 发表于 2020-12-9 18:33 | 显示全部楼层
每次读写前都初始化一边读写。。。
 楼主| songqian17 发表于 2020-12-9 18:37 | 显示全部楼层
我现在将程序中或者判断标志位的判断去掉,或者提前清除,解决的问题。但是稳不稳定还需要观察
renyaq 发表于 2020-12-9 18:41 | 显示全部楼层
看看时钟出没处问题
xxmmi 发表于 2020-12-9 18:44 | 显示全部楼层
是不是干扰到flash的时序了
 楼主| songqian17 发表于 2020-12-9 18:47 | 显示全部楼层

嗯,预料中的结果,多谢大家啦
nawu 发表于 2021-1-6 12:27 | 显示全部楼层
在此期间有别的操作打断它吗
qcliu 发表于 2021-1-6 12:28 | 显示全部楼层
时钟振动正常吗
tfqi 发表于 2021-1-6 12:53 | 显示全部楼层
每次都是这种结果吗
wiba 发表于 2021-1-6 12:54 | 显示全部楼层
周围环境的电磁干扰厉害吗
zljiu 发表于 2021-1-6 12:55 | 显示全部楼层
引脚有没有复用的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部