Записываются если только в отладчике RTC вывести на экран. Вроде как при чтении каких то регистров дебагером часики перезаписываются.
Может кто подскажет чего в супе не хватает?
Код
RTC_TimeStructure.RTC_Hours = ((str[8]-0x30)<<4)|(str[9]-0x30);
RTC_TimeStructure.RTC_Minutes = ((str[10]-0x30)<<4)|(str[11]-0x30);
RTC_TimeStructure.RTC_Seconds = ((str[12]-0x30)<<4)|(str[13]-0x30);
RTC_DateStructure.RTC_WeekDay = 0;
RTC_DateStructure.RTC_Date = ((str[6]-0x30)<<4)|(str[7]-0x30);
RTC_DateStructure.RTC_Month = ((str[4]-0x30)<<4)|(str[5]-0x30);
RTC_DateStructure.RTC_Year = ((str[2]-0x30)<<4)|(str[3]-0x30);
RTC_SetTime(RTC_Format_BCD, &RTC_TimeStructure); // Init Time
RTC_SetDate(RTC_Format_BCD, &RTC_DateStructure); // Init Date
RTC_TimeStructure.RTC_Minutes = ((str[10]-0x30)<<4)|(str[11]-0x30);
RTC_TimeStructure.RTC_Seconds = ((str[12]-0x30)<<4)|(str[13]-0x30);
RTC_DateStructure.RTC_WeekDay = 0;
RTC_DateStructure.RTC_Date = ((str[6]-0x30)<<4)|(str[7]-0x30);
RTC_DateStructure.RTC_Month = ((str[4]-0x30)<<4)|(str[5]-0x30);
RTC_DateStructure.RTC_Year = ((str[2]-0x30)<<4)|(str[3]-0x30);
RTC_SetTime(RTC_Format_BCD, &RTC_TimeStructure); // Init Time
RTC_SetDate(RTC_Format_BCD, &RTC_DateStructure); // Init Date