You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 satır
1.3KB

  1. #ifndef _FLASH_H_
  2. #define _FLASH_H_
  3. #include "stm32f10x.h"
  4. /** 备注:每次写数据前得先擦除所要存储位置所在的整个页,这是和EEPROM的不同之处。Flash不具备修改功能,
  5. 只能先擦除再写,而擦除时,只支持页擦除。 */
  6. //数据在flash里面存储时是以16位的形式存储,
  7. #define PC_NUM_ADDR 0x08030000 //数据存储开始地址 0X08030000-0X08030023
  8. #define STORE_DATA_NUM 10 //数组中的数据个数
  9. extern u16 StoreBuffer[STORE_DATA_NUM];//要写入flash中的数据
  10. extern u8 Save_Buffer[STORE_DATA_NUM*2];//要通过串口读出来的数据
  11. typedef unsigned char BOOL;
  12. typedef unsigned char BYTE;
  13. typedef unsigned short WORD;
  14. typedef unsigned long DWORD;
  15. //void Startwritedata(DWORD addr); //现在可以向以地址(addr)开始的“页”里写入数据
  16. //void Write_Complete(void); //某“页”数据写入完成 上锁
  17. //void SavePara(DWORD addr,WORD data); //向指定地址(addr)写数据(两个字节)
  18. //WORD GetPara(DWORD addr); //读取指定地址(addr)的数据(两个字节)
  19. //void Savestr_to_flash(DWORD addr,WORD *str,WORD len);//将一串数据存到以(addr)为开始地址的区间内
  20. //void Readstr_of_flash(DWORD addr,WORD *str,WORD len);//从(addr)为开始地址读取一个字符串
  21. void SavePara_to_flash(void); //保存设备现在的运行数据
  22. void Readpara_from_flash(void); //读取上次断电时,设备运行的一些参数
  23. #endif