با سلام.
بنده دو برد لندتایگر رو در اختیاردارم.
برنامه زیر تنها بر روی یکی از برد ها درست کار میکنه و بر روی دیگر ثانیه شمار متوقف است.
لطفا راهنمایی بفرمایید تا واحد RTC در برد دچار اشکال را رفع عیب کنم.
ممنون.
کد:
// created : Mahdi Zarkoob
// Kavirelectronic.ir
#include "lpc17xx_rtc.h"
#include "uart.h"
void Delay (uint32_t Time)
{
uint32_t i;
i = 0;
while (Time--) {
for (i = 0; i < 5000; i++);
}
}
void RTC_IRQHandler(void)
{
/* This is increment counter interrupt*/
if (RTC_GetIntPending(LPC_RTC, RTC_INT_COUNTER_INCREASE))
{
/* Send debug information */
UART3_SendString("\nSecond: ");
UART3_SendChar( RTC_GetTime (LPC_RTC, RTC_TIMETYPE_SECOND) );
// Clear pending interrupt
RTC_ClearIntPending(LPC_RTC, RTC_INT_COUNTER_INCREASE);
}
}
int main()
{
UART3_Init();
UART3_SendString("\nSecond: ");
RTC_Init(LPC_RTC);
/* Enable rtc (starts increase the tick counter and second counter register) */
RTC_ResetClockTickCounter(LPC_RTC);
RTC_Cmd(LPC_RTC, ENABLE);
RTC_CalibCounterCmd(LPC_RTC, DISABLE);
/* Set current time for RTC */
// Current time is 8:30:12PM, 2013-01-23
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_SECOND, 12);
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MINUTE, 30);
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_HOUR, 20);
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_YEAR, 2013);
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_MONTH, 1);
RTC_SetTime (LPC_RTC, RTC_TIMETYPE_DAYOFMONTH, 23);
/* Set the CIIR for second counter interrupt*/
RTC_CntIncrIntConfig (LPC_RTC, RTC_TIMETYPE_SECOND, ENABLE);
/* Set the AMR for 10s match alarm interrupt */
/* Enable RTC interrupt */
NVIC_EnableIRQ(RTC_IRQn);
while (1){
}
}