|
- #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
-
-
|