Pessoal,
Quando desligo a minha placa, a bateria mantêm 3,6V no pino Vbat. O problema é que o RTC não continua contando (Qdo ligo novamente a placa ela continua da hora que parou). Alguem sabe aonde posso estar errando?
void InitRTC (void)
{
int valor=0;
CCR = 0x02 | (CCR & 0xFFFFFFE0); // Desabilita RTC
// Mantem Clock Tick Counter (CTC) resetado
// CTC terá como base de clock o oscilador externo de 32Khz, conectado ao RTCx1 e RTCx2
AMR = 0xFF; // não compara os valores com o alarme
CIIR = 0x00; // RTC não gera interrupção
PREINT = ((PREINT & 0XFFFFE000) | ((PCLKFREQ/32768)&0x1FFF))-1; // é a parte inteira do prescaler
valor=(PCLKFREQ-((PREINT+1)*32768))& 0x7FFF;
PREFRAC = (PREFRAC&0XFFFF8000) | (valor); // é a parte fracional do prescaler
CCR = CCR & 0xFFFFFFFD; //Libera CTC
CCR = CCR | 0x00000001; //Liga RTC
}//void InitRTC (void)