F0读内部flash

2019-07-21 07:06发布

void InternalFlash_Read(uint32_t addr,uint8_t *p,uint16_t Byte_Num)
{
        uint8_t i=0;
        while(Byte_Num--)
  {
    p[i]=(*(__IO uint8_t*) addr);
                i++;
    addr++;
  }
}

这个读内部flash在F1上可以,在F0上就会导致程序卡死,请问大佬这是怎么回事

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
peng1554
1楼-- · 2019-07-21 10:13
帮顶!!
edmund1234
2楼-- · 2019-07-21 15:35
应该是调用时addr的值超过了M0的Flash区域
莫默
3楼-- · 2019-07-21 17:35
edmund1234 发表于 2018-8-25 13:02
应该是调用时addr的值超过了M0的Flash区域

没有啊,我特意将地址改为F0的了
edmund1234
4楼-- · 2019-07-21 21:42
 精彩回答 2  元偷偷看……
莫默
5楼-- · 2019-07-22 03:31
edmund1234 发表于 2018-8-27 12:18
死在什么地方?

while(Byte_Num--)死在这里
edmund1234
6楼-- · 2019-07-22 04:14
莫默 发表于 2018-8-27 14:03
while(Byte_Num--)死在这里

停下来后看Addr, I,的值, 看看是否后来因为Addr的值超过范围了

一周热门 更多>