#ifndef _FLASH_H_
#define _FLASH_H_  

#include "stm32f10x.h"



/** 备注:每次写数据前得先擦除所要存储位置所在的整个页，这是和EEPROM的不同之处。Flash不具备修改功能，
        只能先擦除再写，而擦除时，只支持页擦除。	  */
//数据在flash里面存储时是以16位的形式存储,
#define  PC_NUM_ADDR         0x08030000  		//数据存储开始地址 	   0X08030000-0X08030023

#define  STORE_DATA_NUM         10    //数组中的数据个数
extern  u16 StoreBuffer[STORE_DATA_NUM];//要写入flash中的数据
extern u8 Save_Buffer[STORE_DATA_NUM*2];//要通过串口读出来的数据

typedef  unsigned char   BOOL;
typedef  unsigned char   BYTE;
typedef  unsigned short  WORD;
typedef  unsigned long   DWORD;

//void Startwritedata(DWORD addr);          //现在可以向以地址（addr）开始的“页”里写入数据
//void Write_Complete(void);                    //某“页”数据写入完成  上锁	  
//void SavePara(DWORD addr,WORD data);	  //向指定地址（addr）写数据（两个字节）
//WORD GetPara(DWORD addr);	  		  //读取指定地址（addr）的数据（两个字节）
//void Savestr_to_flash(DWORD addr,WORD *str,WORD len);//将一串数据存到以（addr）为开始地址的区间内	  
//void Readstr_of_flash(DWORD addr,WORD *str,WORD len);//从（addr）为开始地址读取一个字符串	  

void SavePara_to_flash(void);        //保存设备现在的运行数据 
void Readpara_from_flash(void);      //读取上次断电时，设备运行的一些参数

#endif



