bikashh
Full Member level 5

Dear friends,
I've written RTC code successfully for my LPC2368 controller and its working properly.But the remaining program is not running when RTC is ON.what must be the reason.
below is my code
main()
{
Init_UART0(9600); // Initilial UART0 = 9600,N,8,1
RTCIN();
while(1)
{
uart0Puts("RTC program\n\r");
delay_ms(2000);
}
}
void RTC_isr(void)__irq
{
if((RTC_ILR & 0x00000001)==1)
{
do
{
Week = (RTC_CTIME0 & MASKWEEK)>>24; // Read Week
Hour = (RTC_CTIME0 & MASKHR)>>16; // Read Hour
Minute = (RTC_CTIME0 & MASKMIN)>>8; // Read Minute
Second = RTC_CTIME0 & MASKSEC; // Read Second
}while(Last_Second == Second); // Update Current Second
Last_Second = Second; // Update Current Second
sprintf((char*)uart0_buf,"Real Time Clock = %2d : %2d : %2d : %2d %2d %2d %4d \n\r",Week,Hour,Minute,Second,Date,Month,Year); // Print Message String
uart0Puts((char*)uart0_buf); //printing on terminal
RTC_ILR = 0x00000001; //clear interrupt
}
VICVectAddr = 0x00000000;
}
void RTCIN(void)
{
PCONP&=0xFFFFFDFF;
/*set DATE and TIME*/
RTC_DOW =1; // Setup Day of Week
RTC_HOUR = 12; // Setup Hour
RTC_MIN = 13; // Setup Minute
RTC_SEC =56; // Setup Second
RTC_DOM = 13;//Date;
RTC_MONTH= 5;//Month;
RTC_YEAR = 2011;//Year;
/*RTC REGISTER CONFIGURATION*/
RTC_CCR |= 0x00000010; // CLKSRC = 1 = Used EXT 32.768 KHz
RTC_CCR |= 0x00000002; // Reset Clock
RTC_CCR &= 0xFFFFFFFD; // Release Reset
RTC_CIIR = 0x00000001; // Enable seconds counter interrupt
RTC_CCR |= 0x00000001; // Start RTC Clock
VICVectAddr13 = (unsigned long)RTC_isr;/*Set Interrupt Vector*/
VICVectCntl13 = 15;
VICIntEnable = (1 << 13);
}
TERMINAL OUTPUT:
Real Time Clock = 7 : 7 : 53 : 15 13 5 2011
Real Time Clock = 7 : 7 : 53 : 16 13 5 2011
Real Time Clock = 7 : 7 : 53 : 17 13 5 2011
Real Time Clock = 7 : 7 : 53 : 18 13 5 2011
Real Time Clock = 7 : 7 : 53 : 19 13 5 2011
Real Time Clock = 7 : 7 : 53 : 20 13 5 2011
Real Time Clock = 7 : 7 : 53 : 21 13 5 2011
Real Time Clock = 7 : 7 : 53 : 22 13 5 2011
Real Time Clock = 7 : 7 : 53 : 23 13 5 2011
RTC is running properly but my program inside main's while loop never get executed.
please help
thanks in advance
I've written RTC code successfully for my LPC2368 controller and its working properly.But the remaining program is not running when RTC is ON.what must be the reason.
below is my code
main()
{
Init_UART0(9600); // Initilial UART0 = 9600,N,8,1
RTCIN();
while(1)
{
uart0Puts("RTC program\n\r");
delay_ms(2000);
}
}
void RTC_isr(void)__irq
{
if((RTC_ILR & 0x00000001)==1)
{
do
{
Week = (RTC_CTIME0 & MASKWEEK)>>24; // Read Week
Hour = (RTC_CTIME0 & MASKHR)>>16; // Read Hour
Minute = (RTC_CTIME0 & MASKMIN)>>8; // Read Minute
Second = RTC_CTIME0 & MASKSEC; // Read Second
}while(Last_Second == Second); // Update Current Second
Last_Second = Second; // Update Current Second
sprintf((char*)uart0_buf,"Real Time Clock = %2d : %2d : %2d : %2d %2d %2d %4d \n\r",Week,Hour,Minute,Second,Date,Month,Year); // Print Message String
uart0Puts((char*)uart0_buf); //printing on terminal
RTC_ILR = 0x00000001; //clear interrupt
}
VICVectAddr = 0x00000000;
}
void RTCIN(void)
{
PCONP&=0xFFFFFDFF;
/*set DATE and TIME*/
RTC_DOW =1; // Setup Day of Week
RTC_HOUR = 12; // Setup Hour
RTC_MIN = 13; // Setup Minute
RTC_SEC =56; // Setup Second
RTC_DOM = 13;//Date;
RTC_MONTH= 5;//Month;
RTC_YEAR = 2011;//Year;
/*RTC REGISTER CONFIGURATION*/
RTC_CCR |= 0x00000010; // CLKSRC = 1 = Used EXT 32.768 KHz
RTC_CCR |= 0x00000002; // Reset Clock
RTC_CCR &= 0xFFFFFFFD; // Release Reset
RTC_CIIR = 0x00000001; // Enable seconds counter interrupt
RTC_CCR |= 0x00000001; // Start RTC Clock
VICVectAddr13 = (unsigned long)RTC_isr;/*Set Interrupt Vector*/
VICVectCntl13 = 15;
VICIntEnable = (1 << 13);
}
TERMINAL OUTPUT:
Real Time Clock = 7 : 7 : 53 : 15 13 5 2011
Real Time Clock = 7 : 7 : 53 : 16 13 5 2011
Real Time Clock = 7 : 7 : 53 : 17 13 5 2011
Real Time Clock = 7 : 7 : 53 : 18 13 5 2011
Real Time Clock = 7 : 7 : 53 : 19 13 5 2011
Real Time Clock = 7 : 7 : 53 : 20 13 5 2011
Real Time Clock = 7 : 7 : 53 : 21 13 5 2011
Real Time Clock = 7 : 7 : 53 : 22 13 5 2011
Real Time Clock = 7 : 7 : 53 : 23 13 5 2011
RTC is running properly but my program inside main's while loop never get executed.
please help
thanks in advance