STM8内部EEPROM读写、程序、功能测试详解

STM8单片机教程11 内部EEPROM数据存储

注意:本文案需要配合无际单片机编程-STM8单片机教程视频学习。

注意:本文案需要配合无际单片机编程-STM8单片机教程视频学习。

 

单片机内部EEPROM存储

 

一  本节课的目标

  • 学习了解STM8单片机FLASH 和内部EEPROM相关知识
  • 通过实验 验证 单片机内部EEPROM 数据的读写

 

二 硬件介绍:

基于lora无线门磁 主板(省略)。  

 

三 STM8单片机EEPROM的介绍(理解)

对应的课程视频里面讲解:

1.需要用的资料:

我们编程数据手册。

 

四 官方提供测试例程

(省略)

 

五  驱动代码实现(掌握)

1 复制标准工程并命名为  “测试例程-SPI通讯“  如下图所示:

打开工程,修改测试例程中的编辑main.c 函数:

2  main.c 源代码

#include “stm8l10x.h”

#define BLOCK_OPERATION    127

uint8_t GBuffer[FLASH_BLOCK_SIZE];

uint8_t ReadBuffer[FLASH_BLOCK_SIZE];

void hal_flash_SaveDat(unsigned char *buf)   //64字节

{

/* Define flash programming Time*/

FLASH_SetProgrammingTime(FLASH_ProgramTime_Standard);

FLASH_Unlock(FLASH_MemType_Program);

/* Wait until Flash Program area unlocked flag is set*/

while (FLASH_GetFlagStatus(FLASH_FLAG_PUL) == RESET)

{}

/* Unlock flash data eeprom memory */

FLASH_Unlock(FLASH_MemType_Data);

/* Wait until Data EEPROM area unlocked flag is set*/

while (FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET)

{}

/* This function is executed from RAM */

FLASH_ProgramBlock(BLOCK_OPERATION, FLASH_ProgramMode_Standard, buf);

}

void hal_flash_ReadDat(unsigned char *buf,unsigned char len)

{

unsigned char i;

uint32_t startadd;

startadd = FLASH_START_PHYSICAL_ADDRESS + ((uint16_t)BLOCK_OPERATION * (uint16_t)FLASH_BLOCK_SIZE);

for(i=0;i<len;i++)< span=””></len;i++)<>

{

buf[i] = FLASH_ReadByte(startadd++);

}

}

void main(void)

{

uint8_t i = 0;

CLK_MasterPrescalerConfig(CLK_MasterPrescaler_HSIDiv1);

/* Fill the buffer in RAM */

for (i = 0; i < FLASH_BLOCK_SIZE; i++)

{

GBuffer[i] = i;//newval;

}

hal_flash_SaveDat(GBuffer);

hal_flash_ReadDat(ReadBuffer,FLASH_BLOCK_SIZE);

FLASH_EraseBlock(BLOCK_OPERATION);

hal_flash_ReadDat(ReadBuffer,FLASH_BLOCK_SIZE);

while (1);

}

六 实验需要的器材和硬件连接方式

和上节课一样,这里不在描述:

 

七 功能测试

我们通过仿真的方式测试验证一下 FLASH 中数据存储,测试如下:

功能测试正常。

 

本小节结束

 

给TA买糖
共{{data.count}}人
人已赞赏
单片机百科单片机自学指南

STM8单片机SPI通讯原理、标准库函数、驱动代码详解

2023-5-25 15:42:29

单片机百科单片机自学指南

硬件基础2.0课程内容介绍

2023-5-25 19:31:04

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧