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 + -
显示快捷键?