📄 flash.c
字号:
#include"SPCE061A.H"
#define lint long int
#define uint unsigned int
#define uchar unsigned char
#define ulint unsigned long int
#define Flash_Data (uint)0xf000
//****************************************************************************************************
// Flash 的页擦除程序 void Flash_erase(uint adr)
// 设计者: 牟联树
// 描 述: Flash 的页擦除程序
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void Flash_erase(uint adr)
{
*P_Flash_Ctrl = 0xaaaa;
*P_Flash_Ctrl = 0x5511;
*(uint *)adr = adr;
}
//****************************************************************************************************
// Flash 的字编程程序 void Flash_write(uint adr,uint dat)
// 设计者: 牟联树
// 描 述: Flash 的字编程程序
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
void Flash_write(uint adr,uint dat)
{
*P_Flash_Ctrl = 0xaaaa;
*P_Flash_Ctrl = 0x5533;
*(uint *)adr = dat;
}
//****************************************************************************************************
// Flash 的字读出程序 uint Flash_write(uint adr)
// 设计者: 牟联树
// 描 述: Flash 的字读出程序
// 日 期: 2003.11.22
// 版本号: 1.0
//****************************************************************************************************
uint Flash_read(uint adr)
{
return(*(uint *)adr);
}
void Data_copy(int *a,uint b)
{
int i;
for(i=0;i<256;i++,a++,b++)
*a = *(uint *)b;
}
void Data_copy1(int *a,int c)
{
uint b,i;
b = Flash_Data;
for(i=0;i<c;i++)
b+=0x0100;
Flash_erase((uint)Flash_Data);
for(i=0;i<256;i++,a++,b++)
Flash_write(b,*a);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -