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 line
1.3KB

  1. #ifndef _STMFLASH_H
  2. #define _STMFLASH_H
  3. #include "stm32f10x.h"
  4. //////////////////////////////////////////////////////////////////////////////////////////////////////
  5. //用户根据自己的需要设置
  6. #define STM32_FLASH_SIZE 256 //所选STM32的FLASH容量大小(单位为K)
  7. #define STM32_FLASH_WREN 1 //使能FLASH写入(0,不是能;1,使能)
  8. //////////////////////////////////////////////////////////////////////////////////////////////////////
  9. //FLASH起始地址
  10. #define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址
  11. //FLASH解锁键值
  12. //#define PC_NUM_ADDR 0x08030000 //数据存储开始地址 0X08030000-0X08030023
  13. #define STORE_DATA_NUM 10 //数组中的数据个数
  14. extern u16 StoreBuffer[STORE_DATA_NUM];//要写入flash中的数据
  15. extern u8 Save_Buffer[STORE_DATA_NUM*2];//要通过串口读出来的数据
  16. u16 STMFLASH_ReadHalfWord(u32 faddr); //读出半字
  17. void STMFLASH_WriteLenByte(u32 WriteAddr,u32 DataToWrite,u16 Len); //指定地址开始写入指定长度的数据
  18. u32 STMFLASH_ReadLenByte(u32 ReadAddr,u16 Len); //指定地址开始读取指定长度数据
  19. void STMFLASH_Write(u32 WriteAddr,u16 *pBuffer,u16 NumToWrite); //从指定地址开始写入指定长度的数据
  20. void STMFLASH_Read(u32 ReadAddr,u16 *pBuffer,u16 NumToRead); //从指定地址开始读出指定长度的数据
  21. //测试写入
  22. void Test_Write(u32 WriteAddr,u16 WriteData);
  23. #endif