打印

GD32单片机中的flash 的操作

[复制链接]
2994|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
firstblood|  楼主 | 2015-12-19 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GD32单片机的flash的读写操作是否跟stm32一样呢?
  stm32单片机的写操作前都需要保证该区间是被擦除过了的,,那么GD32是否一样么?
沙发
firstblood|  楼主 | 2015-12-19 20:10 | 只看该作者
这个是stm32的读写操作的,如下:
在进行写操作之前先进行擦除的操作,而擦除跟写操作的都需要先接触区间锁定的,再擦做的。。。
FLASH_Unlock();
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_PGERR|FLASH_FLAG_WRPRTERR);
FLASH_ErasePage(0x0800a000);
FLASH_ErasePage(0x0800a400);
FLASH_Lock();

使用特权

评论回复
板凳
firstblood|  楼主 | 2015-12-19 20:11 | 只看该作者
上边是擦除操作的,擦完后在进行写操作的,不过都需要双字节的写入才可以的:
FLASH_Unlock();                          
for(L_count=0;L_count<1024;L_count++)                               
  FLASH_ProgramHalfWord((0x0800a000+L_count*2),accXYZ[L_count]);
FLASH_Lock();       

使用特权

评论回复
地板
angerbird| | 2015-12-19 22:14 | 只看该作者
这个在擦除、写操作前都需要进行解锁操作的,那么我问下读出数据的时候需不需要呢?

使用特权

评论回复
5
zhangbo1985| | 2015-12-20 13:04 | 只看该作者
这个要是读取数据的怎么办?
有没有代码分享的?

使用特权

评论回复
6
baimiaocun2015| | 2015-12-20 22:45 | 只看该作者
这个我用过的,读取数据的
                LOCAL_ID =(*(u16*)0x0800f002);
                T_count =(*(u16*)0x0800f004);

使用特权

评论回复
7
baimiaocun2015| | 2015-12-20 22:46 | 只看该作者
读取数据额话注意是双字节的读取就可以了。。

使用特权

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

本版积分规则

86

主题

4492

帖子

9

粉丝