stm32f103zet6高地址写入和读出不一致,低地址读写确是一致的,这是怎么回事

2019-08-18 18:29发布

stm32f103zet6的flash是512k字节的,地址范围是0x8000000-0x807FFFF
测试代码如下:
STMFLASH_Write(0X8060000,(u16*)"u",1);//
        delay_ms(50);       
        STMFLASH_Read(0X8060000,(u16*)datatemp,1);
        printf("datatemp[0]=%c",datatemp[0]);

写进去的是字符u,但是读出来的确是两个问号

当我把地址改为0x8030000的时候,写进去是u,读出来也是u,是可以的,所以不知道是哪里出问题了


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
我是路人甲
1楼-- · 2019-08-18 20:22
 精彩回答 2  元偷偷看……
漂泊的雨林
2楼-- · 2019-08-19 01:33
STM32的Flash一次不是只能写32位吗 你这个怎么是16位的?
我是路人甲
3楼-- · 2019-08-19 07:31
0X8060000没问题呢,03 试过01也试了下没问题
八度空间
4楼-- · 2019-08-19 10:24
建议你仔细看看参考手册关于flash的部分,程序烧录的起始地址就是0x08000000,你往这里写对不对,自己想把,官方也有相关的IAP操作实例和说明文档的
rindy
5楼-- · 2019-08-19 10:58
我是路人甲 发表于 2017-5-26 09:08
0X8060000没问题呢,03 试过01也试了下没问题

难道是我板子的问题,你嫩把你工程发我一下吗,急救急救
rindy
6楼-- · 2019-08-19 14:01
 精彩回答 2  元偷偷看……

一周热门 更多>