/* Configure the RTC AlarmA/B Subseconds value and mask.  */
void RTC_AlarmSubSecondConfig(uint32_t RTC_Alarm, uint32_t RTC_AlarmSubSecondValue, uint8_t RTC_AlarmSubSecondMask)
/* Configure the RTC AlarmA/B Subseconds value and mask.  */
void RTC_AlarmSubSecondConfig(uint32_t RTC_Alarm, uint32_t RTC_AlarmSubSecondValue, uint8_t RTC_AlarmSubSecondMask)
{
    uint32_t tmpreg = 0;
    assert_param(IS_RTC_ALARM(RTC_Alarm));
    assert_param(IS_RTC_ALARM_SUB_SECOND_VALUE(RTC_AlarmSubSecondValue));
    assert_param(IS_RTC_ALARM_SUB_SECOND_MASK(RTC_AlarmSubSecondMask));
    RTC->WPR = 0xFF;
    RTC->WPR = 0xCA;
    RTC->WPR = 0x53;
    tmpreg = (uint32_t)(((uint32_t)(RTC_AlarmSubSecondValue)) | ((uint32_t)(RTC_AlarmSubSecondMask) << 24));
    RTC->ALRMASSR = tmpreg;
    RTC->WPR = 0xFF;
}