大佬教程收集整理的这篇文章主要介绍了Flash更新后STM32F030系统复位,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在 STM32F030 控制器中,我想在闪存上写入某些变量。 此外,在运行时,这些变量可能会发生变化。因此,当检测到变量值发生变化时,我正在擦除闪存并再次写入。
问题:每次检测到变量更新时是否都需要重新设置系统?
下面是我的代码。
voID FlashWrite(voID)
{
//ChAnnel A
SlaveHolding_New[0] = SlaveHoldingReg[0];
if(SlaveHolding_Prev[0]!=SlaveHolding_New[0])
{
Flash_Erase();
Flash_WORD_Write(FLASH_ADD_CH1,SlaveHolding_New[0]);
Flash_WORD_Write(FLASH_ADD_CH2,SlaveHolding_New[1]);
Flash_WORD_Write(FLASH_ADD_CH3,SlaveHolding_New[2]);
Flash_WORD_Write(FLASH_ADD_CH4,SlaveHolding_New[3]);
SlaveHolding_Prev[0] = SlaveHolding_New[0];
//HAL_NVIC_Systemreset();
}
只有当您想重启应用程序时,才需要重新设置MCU。
更新某些闪存扇区中的变量不需要重新启动应用程序。但是,请确保您的应用程序了解此更新,以便读取新值。 如果仅在启动时执行读取操作,则需要重置 MCU。
@H_673_21@以上是大佬教程为你收集整理的Flash更新后STM32F030系统复位全部内容,希望文章能够帮你解决Flash更新后STM32F030系统复位所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。