使用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固件示例下提供的.示例代码应该回答您的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |