/*****************************************************************************
**   Main Function  main()
******************************************************************************/
int main (void)
{ 
  /* SystemClockUpdate() updates the SystemFrequency variable */
  SystemClockUpdate();

  /* Initialize RTC module */
  RTCInit();

  local_time.RTC_Sec = 0;
  local_time.RTC_Min = 0;
  local_time.RTC_Hour = 0;
  local_time.RTC_Mday = 8;
  local_time.RTC_Wday = 3;
  local_time.RTC_Yday = 12;		/* current date 07/12/2006 */
  local_time.RTC_Mon = 7;
  local_time.RTC_Year = 2006;
  RTCSetTime( local_time );		/* Set local time */

  alarm_time.RTC_Sec = 0;
  alarm_time.RTC_Min = 0;
  alarm_time.RTC_Hour = 0;
  alarm_time.RTC_Mday = 1;
  alarm_time.RTC_Wday = 0;
  alarm_time.RTC_Yday = 1;		/* alarm date 01/01/2007 */
  alarm_time.RTC_Mon = 1;
  alarm_time.RTC_Year = 2007;
  RTCSetAlarm( alarm_time );		/* set alarm time */

  NVIC_EnableIRQ(RTC_IRQn);

  /* mask off alarm mask, turn on IMYEAR in the counter increment interrupt
  register */
  RTCSetAlarmMask(AMRSEC|AMRMIN|AMRHOUR|AMRDOM|AMRDOW|AMRDOY|AMRMON|AMRYEAR);
  LPC_RTC->CIIR = IMMIN | IMYEAR;
  /* 2007/01/01/00:00:00 is the alarm on */
    
  RTCStart();

  while (1) 
  {					/* Loop forever */
	current_time = RTCGetTime();
	if ( alarm_on != 0 )
	{
	  alarm_on = 0;
	  /* Get current time when alarm is on */
	  current_time = RTCGetTime();	
	}
  }

}
Esempio n. 2
0
/*****************************************************************************
** Function name:		RTCSetTimeDefault
**
** Descriptions:		Setup RTC timer default
**
** parameters:			None
** Returned value:		None
** 
*****************************************************************************/
void RTCSetTimeDefault(void) 
{
    RTCStop();
  g_stTemp_time.RTC_Sec = 0;
  g_stTemp_time.RTC_Min = 0;
  g_stTemp_time.RTC_Hour = 0;
  g_stTemp_time.RTC_Mday = 25;
  //g_stTemp_time.RTC_Wday = 4;
  //g_stTemp_time.RTC_Yday = 0;		/* Default date 2011/08/25 */
  g_stTemp_time.RTC_Mon = 8;
  g_stTemp_time.RTC_Year = 2011;
  RTCSetTime( g_stTemp_time );		/* Set local time */
  RTCStart();
  return;
}
Esempio n. 3
0
File: setup.c Progetto: dmtrkun/Andr
uchar setup_p1(uchar para)
{
uchar status = 0, disp_stat = 0, i;
uchar incr_step = 0,val;
	status = 0;
	disp_stat = 1;

	RTclock.timer2 = SETUP_TOUT_MS; //4sec
	RTclock.timer = 1000; //4sec
	while((RTclock.timer2 > 0)&&(status < 4))
	{
		if(disp_stat == 1||(status == 0 && RTclock.timer == 0))
		{
			set_cursor (0, 0);
			sprintf(str,"SETUP TIME      ");
			lcd_print ((const unsigned char*)str);					 

	  	set_cursor (0, 1);
			sprintf(str,"%02d:%02d:%02d      %02d",current_time.RTC_Hour,current_time.RTC_Min,current_time.RTC_Sec,status);
			lcd_print ((const unsigned char*)str);					 
			
			if(status>2)
				set_cursor (7, 1);
			else if(status>1)
				set_cursor (4, 1);
			else if(status>0)
				set_cursor (1, 1);

			if(status != 0)
				lcd_write_cmd (0x0F);                 /* Display ctrl:Disp=ON,Curs/Blnk=ON */
			else
			{
				RTCGetTime(&current_time);
				RTclock.timer = 1000;
			}
			disp_stat = 0;
		}
		switch(get_evnt_queue())
		{
//			case WE_MODE:
//				lcd_write_cmd (0x0C);                 /* Display ctrl:Disp=ON,Curs/Blnk=OFF */
//				status = 4;
//				break;
			case WE_ENTER:
				status++;
				if(status == 3)
					current_time.RTC_Sec = 0;
				if(status > 3)
				{
					status = 0;
 					RTCSetTime(current_time);
					lcd_write_cmd (0x0C);                 /* Display ctrl:Disp=ON,Curs/Blnk=OFF */
				}
				disp_stat = 1;
				break;
			case WE_UPHLD:
				incr_step = TRUE;
			case WE_UPKEY:
				if(status == 1)
				{
					if((current_time.RTC_Hour) < 23)			 
						current_time.RTC_Hour++;
        }
				else if(status == 2)
				{
					if((current_time.RTC_Min) < 59)			 
						current_time.RTC_Min++;
        }
				else if(status == 3)
				{
					if((current_time.RTC_Sec) < 59)			 
						current_time.RTC_Sec++;
        }
				disp_stat = 1;
				RTclock.timer2 = SETUP_TOUT_MS; //4sec
				break;
			case WE_DWNHLD:
				incr_step = TRUE;
			case WE_DWNKEY:
				if(status == 1)
				{
					if((current_time.RTC_Hour) > 0)			 
						current_time.RTC_Hour--;
        }
				else if(status == 2)
				{
					if((current_time.RTC_Min) > 0)			 
						current_time.RTC_Min--;
        }
				else if(status == 3)
				{
					if((current_time.RTC_Sec) > 0)			 
						current_time.RTC_Sec--;
        }
				disp_stat = 1;
				RTclock.timer2 = SETUP_TOUT_MS; //4sec
				break;
//			case WE_UPDWNREL:
// 				incr_step = 0;
//				RTclock.timer2 = SETUP_TOUT_MS; //4sec
//				break;
			default:
				break;
		}
	}
  lcd_write_cmd (0x0C);                 /* Display ctrl:Disp=ON,Curs/Blnk=OFF */
	return 0;
}
Esempio n. 4
0
int main(void)
{
 static unsigned char buffer[BUFFER_SIZE];
 unsigned short i;

 unsigned char timeout = 3;

 RTCTime local_time;

 SystemInit();

// IODIR0 |= (P0_15|P0_16|P0_17); // some outputs for debugging and measures
//P0_16 ReadSector() in mmc_spi.c
//P0_17 enc28j60 write packet
//P0_15 general purpose, BE AWARE !

// uart1Init(B38400, UART_8N1, UART_FIFO_8); // setup the UART
 uart1Init(B115200, UART_8N1, UART_FIFO_8); // setup the UART
 rprintf_devopen( uart1_sendchar ); /* init rprintf */

 VICIntEnClear = 0xFFFFFFFF;
 VICIntSelect = 0x00000000;

 RTCInit();
/* current date 05.08.2007 20:45:00*/
 local_time.RTC_Sec = 0;
 local_time.RTC_Min = 45;
 local_time.RTC_Hour = 20;
 local_time.RTC_Mday = 5;
 local_time.RTC_Wday = 3; // My monday has 0
 local_time.RTC_Yday = 1;
 local_time.RTC_Mon = 8;
 local_time.RTC_Year = 2007;
 RTCSetTime( local_time );		/* Set local time */
// RTCStart();

 init_timer();

 enableIRQ();

 printf("Holgi's ARM7 LPC213x MultiFAT Speed Test\n\r");

 MMC_IO_Init();
 enc28j60_io_init(); // You don't need this ! It's for my board only.

 while (GetDriveInformation() != F_OK && timeout--)
  {
   printf ("MMC/SD-Card not found !\n\r");
   HaltCPU();
  }

 ShowDOSConfig(); // show selected DOS details from dosdefs.h

/*
// test time measurement
 StartTimer();
 timer_value = SetDelay10ms(1000); // delay 10 seconds
 while(CheckDelay10ms(timer_value)==0);
 StopTimer(); // stop measure and show results
// result is 2MB in 10s -> 200kB/s
// end test time measurement
*/

 printf("\nTest directory functions\n");
 Chdir("dir1");
 Remove("dir4");
 Chdir("/"); // Back to root
 Remove("dir1");

 Mkdir("dir1");
 Chdir("dir1");
 Mkdir("dir2");
 Mkdir("dir3");
 Rename("dir3","dir4");
 Remove("dir2");

 // You should have now:
 // dir1/dir4

 Chdir("/"); // Back to root

 printf("\nDeleting files\n");
 Remove("01.bin"); //Remove last data
 Remove("02.bin");
 Remove("04.bin");
 Remove("08.bin");
 Remove("16.bin");
 Remove("32.bin");
 Remove("64.bin");
 Remove("77.bin");
 Remove("128.bin");
 Remove("MAX.bin");

 //Fill the test buffer
 for(i=0; i<BUFFER_SIZE; i++) buffer[i]=(unsigned char)(i);

 printf("\nStart writing files\n");
 WriteTestFile("01.bin",buffer,1);
 WriteTestFile("02.bin",buffer,2);
 WriteTestFile("04.bin",buffer,4);
 WriteTestFile("08.bin",buffer,8);
 WriteTestFile("16.bin",buffer,16);
 WriteTestFile("32.bin",buffer,32);
 WriteTestFile("64.bin",buffer,64);
 WriteTestFile("77.bin",buffer,77);
 WriteTestFile("128.bin",buffer,128);
 WriteTestFile("MAX.bin",buffer,BUFFER_SIZE);

 printf("\nStart reading files\n");
 ReadTestFile("01.bin",buffer,1);
 ReadTestFile("02.bin",buffer,2);
 ReadTestFile("04.bin",buffer,4);
 ReadTestFile("08.bin",buffer,8);
 ReadTestFile("16.bin",buffer,16);
 ReadTestFile("32.bin",buffer,32);
 ReadTestFile("64.bin",buffer,64);
 ReadTestFile("77.bin",buffer,77);
 ReadTestFile("128.bin",buffer,128);
 ReadTestFile("MAX.bin",buffer,BUFFER_SIZE);

 printf("\nVerifying files\n");
 VerifyTestFile("32.bin",buffer,32);
 VerifyTestFile("64.bin",buffer,64);
 VerifyTestFile("77.bin",buffer,77);
 VerifyTestFile("128.bin",buffer,128);
 VerifyTestFile("MAX.bin",buffer,BUFFER_SIZE);

 printf("Test done.\n");

// test if RTC is running
     local_time=RTCGetTime();
     printf("%02u:%02u:%02u %02u.%02u.%04u\n\r",local_time.RTC_Hour,local_time.RTC_Min,local_time.RTC_Sec
                                          ,local_time.RTC_Mday,local_time.RTC_Mon,local_time.RTC_Year );
 while(1)
  {
/*
   if(CheckDelay10ms(timer_value))
    {
     timer_value = SetDelay10ms(1000); // delay 10 seconds

// test if RTC is running
     local_time=RTCGetTime();
     printf("%02u:%02u:%02u %02u.%02u.%04u\n\r",local_time.RTC_Hour,local_time.RTC_Min,local_time.RTC_Sec
                                          ,local_time.RTC_Mday,local_time.RTC_Mon,local_time.RTC_Year );
    }
*/
  }

 return(0);
}
/*****************************************************************************
**   Main Function  rtc_main()
******************************************************************************/
void rtc_main (void)
{ 
  /* SystemClockUpdate() updates the SystemFrequency variable */
  SystemCoreClockUpdate();

  /* Initialize RTC module */
  RTCInit();
  GUIDEMO_ShowIntro("Real Time Clock",
                    "Showing"
                    "\nReal Time Clock"
                    "\nBy Siddharth Kaul");
	GUI_Clear();
	GUI_SetBkColor(GUI_BLUE);
	GUI_SetColor(GUI_LIGHTRED);
	GUI_Clear();
	GUI_SetFont(&GUI_Font24B_1);
  local_time.RTC_Sec = 0;
  local_time.RTC_Min = 0;
  local_time.RTC_Hour = 0;
  local_time.RTC_Mday = 8;
  local_time.RTC_Wday = 3;
  local_time.RTC_Yday = 12;		/* current date 07/12/2006 */
  local_time.RTC_Mon = 7;
  local_time.RTC_Year = 2006;
  RTCSetTime( local_time );		/* Set local time */

  alarm_time.RTC_Sec = 0;
  alarm_time.RTC_Min = 0;
  alarm_time.RTC_Hour = 0;
  alarm_time.RTC_Mday = 1;
  alarm_time.RTC_Wday = 0;
  alarm_time.RTC_Yday = 1;		/* alarm date 01/01/2007 */
  alarm_time.RTC_Mon = 1;
  alarm_time.RTC_Year = 2007;
  RTCSetAlarm( alarm_time );		/* set alarm time */

  NVIC_EnableIRQ(RTC_IRQn);

  /* mask off alarm mask, turn on IMYEAR in the counter increment interrupt
  register */
  RTCSetAlarmMask(AMRSEC|AMRMIN|AMRHOUR|AMRDOM|AMRDOW|AMRDOY|AMRMON|AMRYEAR);
  LPC_RTC->CIIR = IMMIN | IMYEAR;
  /* 2007/01/01/00:00:00 is the alarm on */
    
  RTCStart();

  while (1) 
  {					/* Loop forever */
	current_time = RTCGetTime();
	{
	  	char rtc_sec,rtc_min,rtc_hour;
		rtc_sec = current_time.RTC_Sec;
		rtc_min = current_time.RTC_Min;
		rtc_hour = current_time.RTC_Hour;
		GUI_DispCharAt(rtc_sec, 10, 10);
	  	GUI_DispCharAt(rtc_min, 14, 20);
	  	GUI_DispCharAt(rtc_hour, 18, 30);
	 }	
	}
  

}