没有合适的资源?快使用搜索试试~ 我知道了~
stm32-Flash操作-保存数据
资源推荐
资源详情
资源评论
//*********.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 FLASH_PAGE_SIZE ((uint16_t)0x800)
#define BANK1_WRITE_START_ADDR ((uint32_t)0x08008000)
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
int Falsh_Write(u32 *p_data,u32 size)
{
u32 BANK1_WRITE_END_ADDR = BANK1_WRITE_START_ADDR + size*4;
/* Private variables ---------------------------------------------------------*/
uint32_t Data = 0x3210ABCD,i=0;
__IO uint32_t NbrOfPage = 0x00;
uint32_t EraseCounter = 0x00, Address = 0x00;
volatile FLASH_Status FLASHStatus = FLASH_COMPLETE;
volatile TestStatus MemoryProgramStatus = PASSED;
/* Porgram FLASH Bank1 ********************************************************/
/* 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 |
资源评论
hdh717
- 粉丝: 1935
- 资源: 55
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功