📄 flash.c
字号:
//在写之前先檫除相应的页,如果要对同一个地址的数据进行不断的更新,则要进行不断的檫除和写操作;
//在上电复位时候就读出掉电时候存储的数据;
//若檫除成功则相应的地址的数据为0xffff;否则檫除没有成功
#include<spce061a_chf.h>
void write_flash(unsigned int);
unsigned int read_flash();
void page_erase();
unsigned int *addr=0xf100;
int main()
{
unsigned int mun=0;
mun=read_flash();//开始先读出数据
Set_IOA_Dir(0x00ff);
Set_IOA_Attrib(0x00ff);
Set_IOA_Data(0x0000);
while(1)
{
Watchdog_Clear();
mun++;
if(mun<0xffff)
{
page_erase();//
write_flash(mun);
}
else
{
mun=0x0000;
}
}
}
void write_flash(unsigned int d)
{
*P_Flash_Ctrl=0xaaaa;
*P_Flash_Ctrl=0x5533;
*addr=d;
}
void page_erase(void)
{
*P_Flash_Ctrl=0xaaaa;
*P_Flash_Ctrl=0x5511;
*addr=0x0000;//向相应的页地址写如任意值;
}
unsigned int read_flash(void)
{
unsigned int value;
value=*addr;
return (value);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -