stm8 eeprom

2019-11-12来源: eefocus关键字:stm8  eeprom  编程地址

void EEPROOM_Configuration(void)

{

 FLASH_DeInit();

 /* Define flash programming Time*/

 FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);

 /* Unlock Data memory */

 FLASH_Unlock(FLASH_MEMTYPE_DATA); 

}

写一位数据

FLASH_ProgramByte(0x4000,0xaa);//写0xaa数据到0x4000地址

读一位数据

read_data=FLASH_ReadByte(0x4000);//读取0x4000地址上的数据




#define EEPROM_ADDR               0x4020        //EEPROM编程地址

#define BUF_SIZE                  10             //BUF长度

uint8_t WriteBuf[BUF_SIZE] = {'5', '6', '7', '8', '9','4', '3', '2', '1', '0' };


uint8_t ReadBuf[BUF_SIZE];

void EEPROM_Initializes(void)

{

  //FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);

  FLASH->CR1 &= (uint8_t)(~0x01);

  FLASH->CR1 |= (uint8_t)0x00;

}


void EEPROM_WriteNByte(uint8_t* pBuffer, uint32_t WriteAddr, uint16_t nByte)

{

 // FLASH_Unlock(FLASH_MEMTYPE_DATA);//0xF7

  // 对数据EEPROM进行解锁

do


{


FLASH->DUKR = 0xae; // 写入第一个密钥


FLASH->DUKR = 0x56; // 写入第二个密钥


} while((FLASH->IAPSR & 0x08) == 0); // 若解锁未成功,则重新再来


  asm("nop");

  while(FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET);

  asm("nop");

  while(nByte--)

  {

    FLASH_ProgramByte(WriteAddr, *pBuffer);

    WriteAddr++;

    pBuffer++;

    FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);

    asm("nop");

  }

  //FLASH_Lock(FLASH_MEMTYPE_DATA);

   /* Lock memory */

  FLASH->IAPSR &= 0xF7;

}

void EEPROM_ReadNByte(uint8_t* pBuffer, uint32_t ReadAddr, uint16_t nByte)

{

  while(nByte--)

  {

    *pBuffer = FLASH_ReadByte(ReadAddr);

    ReadAddr++;

    pBuffer++;

  }

}


关键字:stm8  eeprom  编程地址 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479727.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8 AWU超低功耗模式
下一篇:独立看门狗和窗口看门狗的区别

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

74LS164 for stm32 源码
:74LS164.c---------------------------------------------------------------------------------------------------------------------------------------------#include "stm32f10x.h"#include "stm32f10x_rcc.h"#include "stm32f10x_gpio.h"#include "74LS164.h"/* 延时模块82615468 sp-320-12 * */static void delay(u32 t){ u32 i; while(t--) for (i = 0; i < 1; i++);}void Ls164Init(void){ GPIO_InitTypeDef
发表于 2019-12-11
74LS164 for stm32 源码
STM32 SysTick定时器应用【worldsing笔记】
SysTick是CM内核独立的定时器,时钟可以用内核内部的,也可以用芯片厂家(ST)的时钟,参考《Cortex-M3权威指南》的第13章: 另外也可以考《STM32F10xxx Cortex-M3 programming manual.pdf》第4章CM3系统外设,从手册来看,ST应该只提供了内核外部时钟,而外部时钟又分成两种:HCLK/8 和 HCLK,  ST官方提供了库直接可以操作SYSTICK,但不同的版本使用起来有些区别: 在V2.0的版本中对SysTick的操作是使用的stm32f10x_systick.c和stm32f10x_systick.h void
发表于 2019-12-11
STM32 SysTick定时器应用【worldsing笔记】
Keil uCos 2.52 stm32 【worldsing笔记】
;    RevBit(LED_GPIO->ODR, 12)           /*LED 状态反转                              */ 2、stm32 Lib V3.5 
发表于 2019-12-11
stm32_CAN总线知识
一、CAN总线的特点:bxCAN主要特点● 支持CAN协议2.0A和2.0B主动模式● 波特率最高可达1兆位/秒● 支持时间触发通信功能发送● 3个发送邮箱● 发送报文的优先级特性可软件配置● 记录发送SOF时刻的时间戳接收● 3级深度的2个接收FIFO● 可变的过滤器组:─ 在互联型产品中,CAN1和CAN2分享28个过滤器组─ 其它STM32F103xx系列产品中有14个过滤器组● 标识符列表● FIFO溢出处理方式可配置● 记录接收SOF时刻的时间戳时间触发通信模式● 禁止自动重传模式● 16位自由运行定时器● 可在最后2个数据字节发送时间戳管理● 中断可屏蔽● 邮箱占用单独1块地址空间,便于提高软件效率双CAN● CAN1
发表于 2019-12-11
stm32_CAN总线知识
STM8L051F3_03_CLK应用
本文介绍STM8L的CLK相关知识。内容分为以下几部分:CLK简介系统时钟频率切换1、CLK简介STM8L051F3的时钟控制系统设计时非常稳定的,同时也很容易使用,它可以使得MUC在低消耗下获仍然保持优性能。用户可以通过管理分配到CPU&外设的时钟来达到降低功耗。STM8L051F3有一个安全无干扰的时钟切换机制允许用户切换系统时钟源,同时可以通过预分频器来控制系统时钟频率。时钟结构图如下:注:STM8L051F3的Peripheral Clock enable是13 bit,没有LCD外设STM8L051F3的系统时钟源有以下4种:16MHz内部高速(出厂已校准)RC时钟HSI1~16MHz外部高速振荡器时钟
发表于 2019-12-11
STM8L051F3_03_CLK应用
低功耗版STM8L051的一个诡异配置
为了做个低功耗项目,从最便宜的STM8S003切换到低功耗系列里较便宜的STM8L051;在STM8S003上调通了HALT休眠处理后,最低待机电流是67uA;用了STM8L051后,实测能到2uA;但是后来遇到个诡异的问题,TIMER4莫名其妙不动作,好像不计时了。开关中断,改初始化配置,都没用,很奇怪。最后发现,是init'初始化的时候,没有给TIMER4配置CLK时钟源,导致的,原来的代码并没有写TIM4,        CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_4);       
发表于 2019-12-11
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved