Hi guys
I have trouble setting up RTCC, the idea is to setup an alarm (say 5 seconds later), trigger an interrupt and wake up the MCU.
Here is my code:
And that's how I test it:
I have trouble setting up RTCC, the idea is to setup an alarm (say 5 seconds later), trigger an interrupt and wake up the MCU.
Here is my code:
Code:
void setup_rtcc(void)
{
rtccTimeDate RtccResetTimeDate;
rtccTimeDate RtccAlarmTimeDate;
RtccInitClock(); //turn on clock source
RtccWrOn(); //enable write to RTCC registers
PIE3bits.RTCCIE = 1; //enable interrupt
//set up clock time
RtccResetTimeDate.f.hour = 0x01;
RtccResetTimeDate.f.min = 0x00;
RtccResetTimeDate.f.sec = 0x00;
RtccResetTimeDate.f.mday = 0x04;
RtccResetTimeDate.f.mon = 0x04;
RtccResetTimeDate.f.year = 0x09;
RtccResetTimeDate.f.wday = 0x06;
//set up alarm time to be 5 second later
RtccAlarmTimeDate.f.hour = RtccResetTimeDate.f.hour;
RtccAlarmTimeDate.f.min = RtccResetTimeDate.f.min;
RtccAlarmTimeDate.f.sec = RtccResetTimeDate.f.sec + 0x05;
RtccAlarmTimeDate.f.mday = RtccResetTimeDate.f.mday;
RtccAlarmTimeDate.f.mon = RtccResetTimeDate.f.mon;
RtccAlarmTimeDate.f.year = RtccResetTimeDate.f.year;
RtccAlarmTimeDate.f.wday = RtccResetTimeDate.f.wday;
RtccWriteTimeDate(&RtccResetTimeDate, 1); //write time for clock
RtccSetAlarmRpt(RTCC_RPT_TEN_SEC,1);
RtccSetAlarmRptCount(0,1); //alarm do not repeat
RtccWriteAlrmTimeDate(&RtccAlarmTimeDate); //write time for alarm
mRtccOn(); //enable rtcc
mRtccAlrmEnable(); //enable alarm
}
Code:
while(1)
{
if (PIR3bits.RTCCIF == 1)
{
PIR3bits.RTCCIF = 0;
LED2 = 1;
}
}