加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用HAL驱动程序在stm32上进行EEPROM仿真

发布时间:2020-12-15 07:26:05 所属栏目:百科 来源:网络整理
导读:我试图在stm32f0上模拟EEPROM. STM提供了 application note. 在样本main.c中, int main(void){ /*! At this stage the microcontroller clock setting is already configured,this is done through SystemInit() function which is called from startup file
我试图在stm32f0上模拟EEPROM. STM提供了 application note.

在样本main.c中,

int main(void)
{
  /*!< At this stage the microcontroller clock setting is already configured,this is done through SystemInit() function which is called from startup
       file (startup_stm32f0xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function,refer to
       system_stm32f0xx.c file
     */  
   /* Unlock the Flash Program Erase controller */
  FLASH_Unlock();

  /* EEPROM Init */
  EE_Init();

/* --- Store successively many values of the three variables in the EEPROM ---*/
  /* Store 0x1000 values of Variable1 in EEPROM */
  for (VarValue = 1; VarValue <= 0x64; VarValue++)
  {
    EE_WriteVariable(VirtAddVarTab[0],VarValue);
  }

  /* read the last stored variables data*/
  EE_ReadVariable(VirtAddVarTab[0],&VarDataTab[0]);


  /* Store 0x2000 values of Variable2 in EEPROM */
  for (VarValue = 1; VarValue <= 0xC8; VarValue++)
  {
    EE_WriteVariable(VirtAddVarTab[1],&VarDataTab[0]);
  EE_ReadVariable(VirtAddVarTab[1],&VarDataTab[1]);


  /* Store 0x3000 values of Variable3 in EEPROM */
  for (VarValue = 1; VarValue <= 0x1C2; VarValue++)
  {
    EE_WriteVariable(VirtAddVarTab[2],&VarDataTab[1]);
  EE_ReadVariable(VirtAddVarTab[2],&VarDataTab[2]);

  while (1);
}

Flash_Unlock()是STM标准外设库中使用的函数.但是,我正在使用CubeMX自动生成使用HAL驱动程序的代码.在使用EEPROM_emulation API之前是否需要调用Flash_Unlock()?如果是,调用Flash_Unlock()的HAL等效是多少?在CubeMX上进行任何特殊配置设置以使用EEPROM仿真?

解决方法

ST Microelectronics确实使用HAL驱动程序提供了示例代码.问题是他们的文档到处都是,谷歌搜索可能不会让你找到正确的页面.

这对你来说是正确的document.

搜索“EEPROM_Emulation”.您会发现示例代码是在NUCLEO -F091RC固件示例下提供的.示例代码应该回答您的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读