my_flash.c

来自「flash 的读写操作,对于目前主流的flash开发都有启发!」· C语言 代码 · 共 42 行

C
42
字号
unsigned long int Page=0;

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;
	}
}

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());
}

void flash_write(void)
{
	unsigned int MO_no=0;
	unsigned int value;
	unsigned int far *Flash = (unsigned int far *) 0x0c000AA;
	unsigned int far *Load_Page = (unsigned int far *) 0x0c000F2;
	unsigned int far *Write_Page = (unsigned int far *) 0x0c0005A
	
	*Flash = 0x0050;
	*Page_destination = 0x00AA;
	
	
	
	
	
	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?