STM32F103 Flash操作代码解析
2017-03-27 17:43
127 查看
/************************************************************************/ // !!!一定要记住!!!Flash寿命是有限的,别程序开着一直擦!!用到再擦 // !!!爱护Flash人人有责 // 必须先解锁Flash uint64_t data = 0; // 一页 1KB // stm32f103 Flash 建议使用页地址为:0x0807F000 // 寻址范围:0x0807F000 - 0x0807FFFF uint32_t *Address = (uint32_t*)0x0807F000; HAL_FLASH_Unlock(); FLASH_PageErase((uint32_t)Address); // 为防止出错,需要延时等待下,当然一般不会出错 if(HAL_OK != FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE)){ // TODO: Error 操作 } // 必须清楚标志位 CLEAR_BIT(FLASH->CR, FLASH_CR_PER); // 开始写数据 // 分为三类写法:FLASH_TYPEPROGRAM_HALFWORD // FLASH_TYPEPROGRAM_WORD // FLASH_TYPEPROGRAM_DOUBLEWORD // 关于详细应用,自己脑补 if(HAL_OK == HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD,(uint32_t)Address,data)){ HAL_GPIO_WritePin(LED1,LED_ON); }else{ HAL_GPIO_WritePin(LED2,LED_ON); } // 搞完之后记得加个锁撒 HAL_FLASH_Lock(); // Flash可以直接寻址哦,写到该地址之后,直接寻址就ok了! if(*Address == data){ HAL_GPIO_WritePin(LED3,LED_ON); } // 最后再说一句,爱护Flash,人人有责!!! /************************************************************************/
相关文章推荐
- Flash MX游戏制作常用代码解析
- 不同浏览器对FLASH引用代码的解析
- C语言 文件操作解析详解及实例代码
- 【原代码共享】FLASH大头贴 FLASH部分源程序解析
- 全面解析DOM操作和jQuery实现选项移动操作代码分享
- TI CC3200 uniflash下载代码到FLASH的操作流程
- Flash Socket安全问题的全面解析 服务器端代码
- Asp.net中操作Excel的代码解析
- [转存]有关dom4j解析xml的各种操作的代码
- [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写
- 使用STM32CUBEMX生成FatFS代码,操作SPI FLASH
- 应用程序域操作 代码解析
- 解析php DOMElement 操作xml 文档的实现代码
- Deviceiocontrol操作异常时,关于getlasterror的错误代码解析
- Scala操作hbase 最详细的代码解析
- solr入门之lucene的索引操作之增加,删除,修改,查询及查询解析代码模板
- TI CC3200 uniflash下载代码到FLASH的操作流程
- 解析php DOMElement 操作xml 文档的实现代码
- flash的小技巧,查看操作代码
- 门户FLASH网页广告代码全面解析