/****************************************Copyright (c)**************************************************** ** ** File name: humi.c ** Created by: Brown Lee ** Created date: 2020-10-16 ** Version: v1.0 ** Descriptions: The original ** Link address: https://blog.csdn.net/weixin_45006076 ** *********************************************************************************************************/ #include "flash.h" //从指定地址开始读取多个数据 void FLASH_ReadMoreData(uint32_t startAddress,uint16_t *readData,uint16_t countToRead) { uint16_t dataIndex; for(dataIndex=0;dataIndex= (FLASH_BASE + 1024 * FLASH_SIZE))) { return;//非法地址 } HAL_FLASH_Unlock(); //解锁写保护 // offsetAddress=startAddress-FLASH_BASE; //计算去掉0X08000000后的实际偏移地址 // sectorPosition=offsetAddress/FLASH_SIZE; //计算扇区地址,对于STM32F103VET6为0~255 // // sectorStartAddress=sectorPosition*SECTOR_SIZE+FLASH_BASE; //对应扇区的首地址 HAL_FLASH_Unlock(); //解锁Flash User_Flash.TypeErase = FLASH_TYPEERASE_PAGES; //标明Flash执行页面只做擦除操作 User_Flash.PageAddress = startAddress; //声明要擦除的地址 User_Flash.NbPages = 1; //说明要擦除的页数,此参数必须是Min_Data = 1和Max_Data =(最大页数-初始页的值)之间的值 uint32_t PageError = 0; //设置PageError,如果出现错误这个变量会被设置为出错的FLASH地址 HAL_FLASHEx_Erase(&User_Flash, &PageError); //调用擦除函数擦除 for(dataIndex=0;dataIndex