完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最新在用STM32F030 因为没有外部存储设备,现在用的是芯片的FLASH来当存储,现在遇到的问题是刷一次程序后,第一次读取可以读取到,当第二次或者多次写入或者擦除的时候读取不到数据,这种情况是为什么啊?很疑惑,看正点原子和野火 都可以,但是实际用的时候不知道为什么只能读取一次正确的数据,剩下的读取到的都是FF FF
|
|
相关推荐
1个回答
|
|
这种情况可能是由于以下几个原因导致的:
1. 擦除操作未完成:在进行多次擦除操作时,需要确保每次擦除操作都已经完成,否则可能会导致数据读取不到。可以通过读取相关标志位(例如FLASH_SR中的BSY位)来判断擦除操作是否完成。 2. 写入操作未完成:在进行多次写入操作时,需要确保每次写入操作都已经完成,否则可能会导致数据读取不到。可以通过读取相关标志位(例如FLASH_SR中的BSY位)来判断写入操作是否完成。 3. 地址对齐问题:在写入或擦除FLASH时,需要确保操作的地址是按照正确的块大小对齐的。例如,如果你在写入字节时,地址应为偶数地址;如果是写入半字,则地址应为4的倍数;如果是写入字,则地址应为8的倍数。 4. 数据保护机制:在STM32F030系列芯片中,有可能存在写保护机制,该机制可以防止对某些区域的FLASH进行写入操作。你可以检查FLASH_OPTSR寄存器中的WRP位,确认写保护是否被启用并且相关区域是否被保护。 5. 程序逻辑错误:检查一下你的程序逻辑是否有误,确保在读取数据之前已经正确地进行了擦除和写入操作。 以上是一些可能导致你遇到问题的原因,你可以仔细检查其中的每个方面,找出问题所在。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1614 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1541 浏览 1 评论
970 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
682 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1592 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:42 , Processed in 0.784884 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号