打印
[AT32F413]

AT32f413RC使用过程中发现在写入flash保存数据会引起内存数据内改变问题,急急

[复制链接]
666|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
上面单片机正常,下面的才会有此问题。是会有假货?
数据存储在flash的两片地址。地址1是0x0803F800正常写入。地址2是0x0803F000写入会引起其他地方的内存变0。不能存两片数据吗?AT库和ST库都是一样的问题,是有哪里我不知道的知识点,请大佬们帮忙,搞了一周了,一直不知道原因。



使用特权

评论回复
沙发
ForgottenRealm| | 2025-3-14 17:03 | 只看该作者
是内存占用到代码区了吧

使用特权

评论回复
板凳
muyichuan2012| | 2025-3-14 19:07 | 只看该作者
多买几片再试试?看是不是买到了不良品

使用特权

评论回复
地板
laoxia123|  楼主 | 2025-3-14 19:51 | 只看该作者
将程序大小减到这种程度就是正常的。影响到了也不像是内存~AD通过dma采集到的数据变了,可能是内存也可能是AD采集。但是通过减少代码量后又正常。

6684767d41723b0764.png (13.3 KB )

6684767d41723b0764.png

9898167d4172777e58.png (13.3 KB )

9898167d4172777e58.png

使用特权

评论回复
5
闪烁阴影| | 2025-3-17 10:00 | 只看该作者
程序减小后正常,应该就是内存选择到代码区了,往后选一页应该就可以

使用特权

评论回复
6
muyichuan2012| | 2025-3-17 10:33 | 只看该作者
本帖最后由 ArterySW 于 2025-3-17 10:58 编辑

知道原因了ADC转换期间,你同时在对FLASH进行擦写操作。这样肯定不行啊  FLASH擦写操作时,FLASH读会停止。
正如在雅特力QQ群回复你的一样。
你这种需求,建议如下2种方式解决:
1 ADC数据先存到SRAM buffer里
2 换支持dul bank的MCU

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝