📄 flash.c
字号:
unsigned long int Page=0;
//**********************************************************************
// @Function void read_FSR_Busy(void)
//----------------------------------------------------------------------
// @Description This function read FSR Register
//----------------------------------------------------------------------
// @Returnvalue none
//**********************************************************************
void Read_FSR_Busy(void)
{
unsigned int far *Flash_Register = (unsigned int far *) 0xFFF000;
unsigned int Register;
Register = *Flash_Register;
while(Register & 0x0001)
{
Register = *Flash_Register;
}
}
//**********************************************************************
// @Function int read_sequence_error(void)
//----------------------------------------------------------------------
// @Description This function detects sequence errors
//----------------------------------------------------------------------
// @Returnvalue Error yes/no
//**********************************************************************
int Read_sequence_error(void)
{
unsigned int far *Flash_Register = (unsigned int far *) 0xFFF000;
unsigned int Register;
Register = *Flash_Register;
if(Register & 0x0040)
{
return(FALSE);
}
else
return(OK);
}
//**********************************************************************
// @Function int Erase_sector (unsigned long int sector)
//----------------------------------------------------------------------
// @Description This function erases one sector
//----------------------------------------------------------------------
// @Parameter Sector start address
//----------------------------------------------------------------------
// @Returnvalue Success
//----------------------------------------------------------------------
// @Parameters any constant or register value
//**********************************************************************
int Erase_sector (unsigned long int sector)
{
unsigned int far *Flash_Command_1 = (unsigned int far *) 0x0c000AA;
unsigned int far *Flash_Command_2 = (unsigned int far *) 0x0c00054;
unsigned int far *Flash_Command_3 = (unsigned int far *) sector;
//command sequence
*Flash_Command_1 = 0x0080;
*Flash_Command_2 = 0x00AA;
*Flash_Command_3 = 0x0033;
Read_FSR_Busy();
return (Read_sequence_error());
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -