Difference between revisions of "RTC"
m |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 40: | Line 40: | ||
| Usage ||<syntaxhighlight lang = "c">RTC_SetTime(0x10,0x40,0x20); //All the arguments should be in BCD format</syntaxhighlight> | | Usage ||<syntaxhighlight lang = "c">RTC_SetTime(0x10,0x40,0x20); //All the arguments should be in BCD format</syntaxhighlight> | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
==RTC_SetDate== | ==RTC_SetDate== | ||
Line 126: | Line 122: | ||
− | /*note: The RTC_SetTime()/RTC_SetDate() should be called for the first time. | + | /*note: The below RTC_SetTime()/RTC_SetDate() should be called for the first time. |
− | Once the date and Time is set, comment the two lines and reflash the code. | + | Once the date and Time is set, comment the two lines ,compile and reflash the code. |
− | Else the date,time will be updated every time the controller is reset/powered ON */ | + | Else the date,time will be updated with same values every time the controller is reset/powered ON */ |
RTC_SetTime(0x10,0x40,0x20); // 10:40:20 am | RTC_SetTime(0x10,0x40,0x20); // 10:40:20 am | ||
RTC_SetDate(0x01,0x12,0x12); // 1st Dec 2012 | RTC_SetDate(0x01,0x12,0x12); // 1st Dec 2012 |
Latest revision as of 13:07, 14 April 2015
Contents
RTC
RTC_Init
Defination | void RTC_Init() |
Input Arguments | none |
Return Value | none |
Description | This function is used to Initialize the Ds1307 RTC. |
Usage | RTC_Init(); |
RTC_SetTime
Defination | void RTC_SetTime(uint8_t var_hour_u8, uint8_t var_min_u8, uint8_t var_sec_u8) |
Input Arguments | uint8_t: Hour (0x00-0x23) BCD format uint8_t: Minute (0x00-0x59) BCD format uint8_t: Second (0x00-0x59) BCD format |
Return Value | none |
Description | This function is used to update the Time(hh,mm,ss) of Ds1307 RTC. The new time is updated into the non volatile memory of Ds1307. Note: The I/P arguments should of BCD, |
Usage | RTC_SetTime(0x10,0x40,0x20); //All the arguments should be in BCD format |
RTC_SetDate
Defination | void RTC_SetDate(uint8_t var_day_u8, uint8_t var_month_u8, uint8_t var_year_u8) |
Input Arguments | uint8_t: Day(0x01-0x31) BCD format uint8_t: Month(0x01-12) BCD format uint8_t: Year(0x00-0x99) BCD format |
Return Value | none |
Description | This function is used to set Date(dd,mm,yy) into the Ds1307 RTC. The new Date is updated into the non volatile memory of Ds1307. Note: The I/P arguments should of BCD. |
Usage | RTC_SetDate(0x15,0x08,0x47); //All arguments should be in BCD format. |
RTC_GetTime
Defination | void RTC_GetTime(uint8_t *ptr_hour_u8,uint8_t *ptr_min_u8,uint8_t *ptr_sec_u8) |
Input Arguments | uint8_t *: Address to copy Hour. uint8_t *: Address to copy Minute. uint8_t *: Address to copy Second. |
Return Value | none |
Description | This function is used to get the Time(hh,mm,ss) from Ds1307 RTC. Note: The time read from Ds1307 will be of BCD format, |
Usage | uint8_t hour,min,sec; RTC_GetTime(&hour,&min&sec); //Now the hour,min,sec will have the time in BCD format. |
RTC_GetDate
Defination | void RTC_GetDate(uint8_t *ptr_day_u8,uint8_t *ptr_month_u8,uint8_t *ptr_year_u8) |
Input Arguments | uint8_t * : Address to copy Day. uint8_t * : Address to copy Month. uint8_t * : Address to copy Year. |
Return Value | none |
Description | This function is used to get the Date(d,m,y) from Ds1307 RTC. Note: The date read from Ds1307 will be of BCD format, |
Usage | uint8_t hour,min,year; RTC_GetDate(&hour,&min&year); //Now the hour,min,year will have the Date in BCD format. |
User Guide
/*** Program to demonstrate the RTC library ******/ #include "uart.h" //User defined UART library which contains the UART routines #include "rtc.h" //User defined library which contains the RTC(ds1307) routines void main() { unsigned char sec,min,hour,day,month,year; UART_Init(9600); /* Initialize the Uart */ RTC_Init(); /* Initialize the RTC(ds1307)*/ /*note: The below RTC_SetTime()/RTC_SetDate() should be called for the first time. Once the date and Time is set, comment the two lines ,compile and reflash the code. Else the date,time will be updated with same values every time the controller is reset/powered ON */ RTC_SetTime(0x10,0x40,0x20); // 10:40:20 am RTC_SetDate(0x01,0x12,0x12); // 1st Dec 2012 while(1) { RTC_GetDate(&day,&month,&year); /* Read the Date from RTC(ds1307) */ RTC_GetTime(&hour,&min,&sec); /* Read the Time from RTC(ds1307) */ UART_Printf("\n\rDate:%x/%x/%x Time:%x:%x:%x",day,month,year,hour,min,sec); } }