#ifndef __INFLASH_H #define __INFLASH_H #include "CONFIG.h" //FLASH起始地址 #define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址 #define STM32_FLASH_SIZE FLASH_SIZE //所选STM32的FLASH容量大小(单位为K) #define STM32_FLASH_WREN 1 //使能FLASH写入(0,不是能;1,使能) /* STM32F103扇区大小 */ #if STM32_FLASH_SIZE < 256 #define STM32_SECTOR_SIZE 1024 /* 容量小于256K的F103, 扇区大小为1K字节 */ #else #define STM32_SECTOR_SIZE 2048 /* 容量大于等于256K的F103, 扇区大小为2K字节 */ #endif //(现在是512页的stm32 f103ZE) #define FLASH_SAVE_ADDR SAVE_ADDR //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000) void storedata(void); void clearflash(void); void STMFLASH_Read(uint32_t ReadAddr,uint16_t *pBuffer,uint16_t NumToRead); void STMFLASH_Write(uint32_t WriteAddr,uint16_t *pBuffer,uint16_t NumToWrite); //结构体存储数组 #pragma pack(1) typedef struct{ char deviceSecret[40]; char productKey[20]; char deviceName[20]; uint8_t read_flag;//判断存flash是否成功,从flash读取值为1代表成功 }Coefficient_Data; #pragma pack() #endif