STM32F0使用FLASH

发布时间:2024-11-26 23:26

减少塑料使用,使用可重复使用的购物袋 #生活常识# #环保生活Tips# #可持续发展#

STM32F0使用FLASH

最新推荐文章于 2024-08-30 18:58:49 发布

天或 于 2019-05-28 18:01:27 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

STM32F0使用FLASH

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

#define FLASH_PAGE_SIZE ((uint32_t)0x00000400)

#define FLASH_USER_START_ADDR ((uint32_t)0x08003000)

#define FLASH_USER_END_ADDR ((uint32_t)0x08003000)

#define DATA_32 ((uint32_t)0x12345678)

uint32_t EraseCounter = 0x00, Address = 0x00;

uint32_t Data = 0x3210ABCD;

uint32_t NbrOfPage = 0x00;

__IO FLASH_Status FLASHStatus = FLASH_COMPLETE;

__IO TestStatus MemoryProgramStatus = PASSED;

void FlashRead()

{

FLASH_Lock();

Address = FLASH_USER_START_ADDR;

CONFIG_A = *(__IO uint16_t *)Address; Address = Address + 2;

CONFIG_B = *(__IO uint16_t *)Address; Address = Address + 2;

CONFIG_C = *(__IO uint16_t *)Address; Address = Address + 2;

}

void FlashSave()

{

FLASH_Unlock();

FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR);

{

if (FLASH_ErasePage(FLASH_USER_START_ADDR )!= FLASH_COMPLETE)

{

while (1)

{

TM1620_DISPLAY_DOT(999,0,PAGEB);

}

}

}

Address = FLASH_USER_START_ADDR;

if (FLASH_ProgramHalfWord(Address, CONFIG_A) == FLASH_COMPLETE)

{

}

else

{

delayus(100);

}

Address = Address + 2;

if (FLASH_ProgramHalfWord(Address, CONFIG_B) == FLASH_COMPLETE)

{

}

else

{

delayus(100);

}

Address = Address + 2;

if (FLASH_ProgramHalfWord(Address, CONFIG_C) == FLASH_COMPLETE)

{

}

else

{

delayus(100);

}

}

网址:STM32F0使用FLASH https://www.yuejiaxmz.com/news/view/284249

相关内容

个人护理Flash单片机.PDF
data=56.4 xdata=0 code=1067”对应 flash 和RAM ROM
分享STM32 FLASH 擦除(以及防止误擦除程序代码)、写入
Flash MX 2004视频教程超速入门系列(2)
Flash MX 2004视频教程超速入门系列(1)
探索智能购物助手:Shopee Flash Sale Bot
基于STM32的智能家居照明控制系统设计与实现
日常使用电脑的一些方便实用的技巧
如何移植Wi
学生学习材料精品(七篇)

随便看看