内部flash使用的一些问题

[复制链接]
 楼主| rusir 发表于 2025-8-5 10:01 | 显示全部楼层 |阅读模式
在使用cw32l010内部flash的时候在使用官方例程存储第128页时没有问题,保存了我的一些参数可以正常写入读取,但是在我仿照例程操作第127/126页的时候, Flag = FLASH_ErasePages(512*126, 512*126);这个函数会把我的ram中的存储参数结构体一部分参数置0,想请问是为什么铁部分代码
void errorsave()
{
                uint8_t  Flag;
                uint8_t AddrBuf[256];
                FLASH_UnlockPage(80);
    Flag = CW_FLASH->ISR;
    FLASH_UnlockPages(512*126, 512*126);    //??127?
    Flag = FLASH_ErasePages(512*126, 512*126);    //???????
    FLASH_LockAllPages();
    if( Flag )
    {
        Data.LcuState =2;  //????
    }

    //write
                memcpy(AddrBuf,error_records,sizeof(ErrorRecord) * ComData.Attr.mData.recordnumber);
    FLASH_UnlockPages( 512*126, 512*126 );   
    Flag = FLASH_WriteBytes(512*126, AddrBuf, 256 );
    if( Flag )
    {
        Data.LcuState =2;  
    }
               
}

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

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