⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.h

📁 ATMEL系列存储器驱动程序,提供地层和上层驱动
💻 H
字号:
/*
 *CopyRight  Reserved?   凯拓科技版权所有  http://www.ktopcn.com  
 *文件名:flash.h
 *描述:提供flash存储器的上层操作,能操作AT45DB041B--321B系列FLASH。
 *
 *版本:v1.0
 *作者:ktop
 *日期:2004/11/17
 */
 
 #ifndef FLASH_H
	#define	FLASH_H

#include <msp430x14x.h>
#include "flashdrv.h"


 #ifndef TRUE
	#define TRUE	1
	#define true	1
#endif

#ifndef FALSE
	#define	FALSE	0
	#define	false	0
#endif

#ifndef uchar
#define uchar unsigned char
#define	UCHAR uchar
#endif

#ifndef uint
#define uint unsigned int
#define	UINT uint
#endif

#ifndef ulong
#define ulong unsigned long
#define	ULONG ulong
#endif

#ifndef bool
#define bool unsigned char
#define	BOOL bool
#endif

#ifndef CONST
#define	CONST const
#endif


#ifdef	FLASH_C
/***************************************配置参数*******************************************/
#define			PAGE_SIZE				528						//定义一页数据大小。
#define			FLASH_BUSY				0X80					//定义BUSY所对应的位
#define			FLASH_COMP				0X40					//定义COMP所对应的位
																//清看门狗
#define			CLRWATCHDOG()			
/***************************************内部定义*******************************************/
#define			FLASH_4M				0X1C					//4M位容量
#define			FLASH_8M				0X24					//8M位容量
#define			FLASH_16M				0X2C					//16M位容量
#define			FLASH_32M				0X34					//32M位容量


//与FLASH操作相关的变量
#define			READ_TO_BUF				0						//读数据到缓冲
#define			WRITE_FROM_BUF			1						//写缓冲数据到FLASH。
#define			WRITE_BUF				2						//写缓冲
#endif



/****************************************向外提供的接口函数********************************/
/*
 *函数性质:公共
 *入口:无
 *出口:无
 *功能:刷新缓冲,将缓冲中的数据写入到FLASH中。以免断电数据丢失。
 */
void FlushFlash(void);



/*
 *函数性质:公共
 *入口:页地址ulFlashAddr
 *出口:无
 *功能:将给定地址的Flash数据读入到缓冲中。
 */
void UpDateFlashBuf(ulong ulFlashAddr);



/*
 *函数性质:公共
 *入口:存储器地址ulAddr, 数据缓冲地址pData, 数据长度uiLen
 *出口:无
 *功能:从Flash中读出给定个数的数据,并将读得的数据存放到pData中。
 */
void ReadFlashMem(ulong ulAddr, uchar *pData, uint uiLen);


/*
 *函数性质:公共
 *入口:存储器地址ulAddr,数据缓冲地址pData, 数据长度uiLen
 *出口:无
 *功能:将pData所指向的缓冲数据写入到指定的存储器地址,数据个数由uiLen决定。
 */
void WriteFlashMem(ulong ulAddr, uchar *pData, uint uiLen);


/*
 *函数性质:公共
 *入口:无
 *出口:无
 *功能:整片擦除FLASH。
 */
void EraseAllFlash(void);


/* 
 *函数性质:公共
 *入口:无
 *出口:FLASH容量,如果为4M位,则返回0
 *功能:读取Flash容量。
 */
uchar GetFlashSize(void);
 
 
/*
 *函数性质:公共
 *入口:无
 *出口:无
 *功能:初始化FLASH,将FLASH中的数据读入到缓冲中。
 */
void FlashMemIni(void); 


#endif

⌨️ 快捷键说明

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