Backup registers stm32f091 nucleo

20 Apr 2016

Would really appreciate some help! This is giving me a right headache!! I am trying to write a value to one of the backup registers in the stm32f091 nucleo. Code functions but I don't get my number read back - it is always 0. Would REALLY appreciate help!

uint32_t rtc_read_backup_reg(uint32_t BackupRegister) {

RTC_HandleTypeDef RtcHandle;

RtcHandle.Instance = RTC;

Return HAL_RTCEx_BKUPRead(&RtcHandle, BackupRegister);

}

++++++++++++++++

void rtc_write_backup_reg(uint32_t BackupRegister, uint32_t data) {

RTC_HandleTypeDef RtcHandle

RtcHandle.Instance = RTC;

HAL_PWR_EnableBkUpAccess();

HAL_RTCEx_BKUPWrite(&RtcHandle, BackupRegister, data);

HAL_PWR_DisableBkUpAccess();

}

rtc_write_backup_reg(RTC_BKP_DR0,123);

reg1 = rtc_read_backup_reg(RTC_BKP_DR0);

03 May 2016

Perhaps, missing :

__PWR_CLK_ENABLE();   // normally in SystemClock_Config()
HAL_PWR_EnableBkUpAccess();