STM32单片机仿真开发实例 课件 4.8 Flash ROM的读写_第1页
STM32单片机仿真开发实例 课件 4.8 Flash ROM的读写_第2页
STM32单片机仿真开发实例 课件 4.8 Flash ROM的读写_第3页
STM32单片机仿真开发实例 课件 4.8 Flash ROM的读写_第4页
STM32单片机仿真开发实例 课件 4.8 Flash ROM的读写_第5页
已阅读5页,还剩5页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4.8FlashROM的读写能力目标:

了解STM32F103R6单片机FlashROM的基本结构与工作特性,掌握读写FlashROM的读写方法。任务要求:仿真电路如图所示,单片机能将由串口收到的1个字节数据存入到FlashROM的指定地址;按下按钮BTN,单片机将存储在FlashROM指定地址的1个字节数据通过串口发送。串口通信参数是19200-N-1。4.8.1FlashROMSTM32单片机的FlashROM即程序存储器,它的作用就是用来存放用户编写的单片机程序(机器码)。实际上,FlashROM除了用来存放单片机程序之外也可以用来保存数据,保存在FlashROM中的数据可以借助于专门的API函数进行读写,换言之这些数据可以在线修改,也能断电保存。ISP下载过程中,可以看到STM32单片机的Flashmapping(闪存映射),STM32F103R6单片机的32KBFlashROM按1KB每页页划分为32页,如右图所示。FlashROM的数据写入务必遵循如下图所示步骤。

而FlashROM的数据读取则没有繁琐的步骤,直接读取即可。4.8.2任务程序的编写Flash读写没有图形化配置步骤,本项目仅需配置串口和GPIO即可。

本次任务需要用到的新的API函数有:

①解锁FlashROM函数

HAL_FLASH_Unlock

例如:②锁定FlashROM函数HAL_FLASH_Lock

例如:if(HAL_FLASH_Unlock()!=HAL_OK){Error_Handler();}if(HAL_FLASH_Lock()!=HAL_OK){Error_Handler();}③擦除FlashROM指定部分函数HAL_FLASHEx_Erase

例程往后翻→其中,TypeErase参数有两个宏定义选项,分别是:●FLASH_TYPEERASE_PAGES(页擦除);●FLASH_TYPEERASE_MASSERASE(全部擦除)。uint32_tpage_error=0;//错误FLASH_EraseInitTypeDeferase_initstruct={.TypeErase=FLASH_TYPEERASE_PAGES,/*擦除方式--页擦除*/.NbPages=1,/*页数量--1页*/.PageAddress=0x08006400/*擦除页起始地址*/};if(HAL_FLASHEx_Erase(&erase_initstruct,&page_error);!=HAL_OK){Error_Handler();}④写入FlashROM函数HAL_FLASH_Program

例程:HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD,0x08006400,0x1234);其中,TypeProgram参数有三个宏定义选项,分别是:●FLASH_TYPEPROGRAM_HALFWORD(半字,长度16位)●FLASH_TYPEPROGRAM_WORD(单字,长度32位)●FLASH_TYPEPROGRAM_DOUBLEWORD(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论