flashrwapp.c

来自「该软件为在sunplus的61单片机上实现的mp3播放器.里面有完整的源代码.」· C语言 代码 · 共 61 行

C
61
字号
/*H**************************************************************************
* 文件名:       filename.h         
*----------------------------------------------------------------------------
* 版权          (c) 2004 TGE.
*----------------------------------------------------------------------------
* 释放:         Spce061A      
* 版本:         1.13     
*----------------------------------------------------------------------------
* 目的:
* 
*****************************************************************************/

/*_____    包括     ________________________________________________________*/
#include "flashrwapp.h"
#include "..\\public\\public.h"
/*_____    宏       ________________________________________________________*/

/*_____    定义     ________________________________________________________*/

/*_____    声明     ________________________________________________________*/
//extern void F_FlashWrite1Word(int addr,int Value );
//extern void F_FlashWrite(int sector,int num, int size);
//extern void F_FlashErase(int);

unsigned int MCU_FlashErase(unsigned int sectorAddress)
{
	unsigned int i,*sector;
	sector=(unsigned int *)sectorAddress;
	F_FlashErase(sector);                              //擦除256字节/128字
	for (i=0;i<0x100;i++)					           //擦除成功否
	{
		if (*(sector+i)!=0xffff)
			return(KO);							//EraseFail
	}
	return(OK);									//Erase Success	
}

unsigned int MCU_FlashWrite1Word(unsigned int sectorAddress,unsigned int data)	
{	
	unsigned int *addr;
	addr=(unsigned int *)sectorAddress;
	F_FlashWrite1Word(addr,data);           //在Addr地址处写data	
	if( * addr!=data)                       //写成功否
		return(KO);							//Write Fail
	else
		return(OK);							//Write Success
}	

unsigned int MCU_FlashWrite(unsigned int sectorAddress, unsigned int *num, unsigned int totalNum)
{
	unsigned int i,*sector;
	sector=(unsigned int *)sectorAddress;
    F_FlashErase(sector);
	F_FlashWrite(sector,num, totalNum);              //写128个数据到指定的地址中
	for (i=0;i<128;i++)                               //写成功否
	{
		if (*(sector+i) != num[i])
			return(KO);							//WriteFail
	}
	return(OK);									//WriteSuccess
}

⌨️ 快捷键说明

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