ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
8 июля
260633 Топик полностью
koyodza (04.07.2011 12:02, просмотров: 126) ответил Bublic на Неужели никто не пробовал? Тогда плохо мое дело, ни фига не врубаюсь как работает :) Может, не так проверяю? Вхожу в режим конфигурации регистров RTC, прописываю тестовыми значениями регистры CR,PRL,CNT(все с задержкой 50 мс чтобы усвоилось).
у меня работает так void RtcInit(void) { CLR(utc); GetBackupParam(&utc.offset); RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(ENABLE); RCC_LSEConfig(RCC_LSE_ON); while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET); RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); RCC_RTCCLKCmd(ENABLE); RTC_WaitForSynchro(); RTC_WaitForLastTask(); RTC_SetPrescaler(32767); // RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) RTC_WaitForLastTask(); utc.t0 = RTC_GetCounter() - sysSec; } BYTE BackupInit(void) { RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE); PWR_BackupAccessCmd(ENABLE); DATA_VALID = FALSE; if (GetBackupCheckSum() == BKP_ReadBackupRegister(BKP_DR10)) DATA_VALID = TRUE; return DATA_VALID; } чтение backup регистров x = BKP_ReadBackupRegister(addr); запись backup регистров BKP_WriteBackupRegister(addr, x);