最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

stm32 Flash操作,保存数据

来源:动视网 责编:小OO 时间:2025-09-26 23:33:42
文档

stm32 Flash操作,保存数据

//*********.h#ifndef__STM32FLASH_H#define__STM32FLASH_H#include"stm32f10x.h"intFalsh_Write(u32*p_data,u32size);#endif/*__STM32FLASH_H*///**********.c/*Includes------------------------------------------------------------------*/#include"stm32f10x.h"#
推荐度:
导读//*********.h#ifndef__STM32FLASH_H#define__STM32FLASH_H#include"stm32f10x.h"intFalsh_Write(u32*p_data,u32size);#endif/*__STM32FLASH_H*///**********.c/*Includes------------------------------------------------------------------*/#include"stm32f10x.h"#
//*********.h

#ifndef __STM32FLASH_H

#define __STM32FLASH_H

#include "stm32f10x.h"

int Falsh_Write(u32 *p_data,u32 size);

#endif /* __STM32FLASH_H */

//**********.c

/* Includes ------------------------------------------------------------------*/

#include "stm32f10x.h"

#include "STM32FLASH.h"

/* Private typedef -----------------------------------------------------------*/

typedef enum {FAILED = 0, PASSED = !FAILED} TestStatus;

/* Private define ------------------------------------------------------------*/

/* Define the STM32F10x FLASH Page Size depending on the used STM32 device */

#define BANK1_WRITE_START_ADDR  ((uint32_t)0x08008000)

/* Private functions ---------------------------------------------------------*/

int Falsh_Write(u32 *p_data,u32 size)

{

  /* Unlock the Flash Bank1 Program Erase controller */

  FLASH_UnlockBank1();

  /* Define the number of page to be erased */

  NbrOfPage = (BANK1_WRITE_END_ADDR - BANK1_WRITE_START_ADDR) / FLASH_PAGE_SIZE +1;

  /* Clear All pending flags */

  FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);

 

  /* Erase the FLASH pages */

for(EraseCounter = 0; (EraseCounter < NbrOfPage) && (FLASHStatus == FLASH_COMPLETE); EraseCounter++)

  {

  }

  

  /* Program Flash Bank1 */

  Address = BANK1_WRITE_START_ADDR;

while((Address < BANK1_WRITE_END_ADDR) && (FLASHStatus == FLASH_COMPLETE))

  {

  }

  FLASH_LockBank1();

  

  /* Check the corectness of written data */

  Address = BANK1_WRITE_START_ADDR;

while((Address < BANK1_WRITE_END_ADDR) && (MemoryProgramStatus != FAILED))

  {

  

  }

}

文档

stm32 Flash操作,保存数据

//*********.h#ifndef__STM32FLASH_H#define__STM32FLASH_H#include"stm32f10x.h"intFalsh_Write(u32*p_data,u32size);#endif/*__STM32FLASH_H*///**********.c/*Includes------------------------------------------------------------------*/#include"stm32f10x.h"#
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top