You are here

working of Real time clock | Cypress Semiconductor

working of Real time clock

Summary: 3 Replies, Latest post by danaaknight on 10 Sep 2015 04:09 PM PDT
Verified Answers: 2
Last post
Log in to post new comments.
sahareajay7_1475646's picture
9 posts

I saw the data sheet but there is no much information. How does RTC work.
RTC start with current and time and date then we set alarm time and date then how does alarm happen. I saw there is mask and alarm handler mask is used to match current time date with alarm time and date and alarm handler is used to call the alarm function
So please tell how does RTC work from beginning??

user_14586677's picture
7646 posts

User sets current time into RTC.


The alarm mask allows user to set an alarm on any combination of hours,

mins, secs, year, date, month etc.. So if you want an alarm to fire just in

the year 2020 on a specific hour, mask allows you to do that. Or every day

at 20:13, masking again allows you to ignore all but the hours and minutes.


In other words masking permits you to set an alarm that ignores some RTC

date/time parts, and use only specifc parts of the total data/time readings.


Regards, Dana

sahareajay7_1475646's picture
9 posts

I looked RTC program there is some point

Main function performs following functions:
*   1. Declares date and time structure and fill it with the initial values
*   2. Enables global interrupts
*   3. Sets initial time and date values
*   4. Sets alarm date, time and mask

    /* Set alarm mask */
    RTC_WriteAlarmMask(RTC_ALARM_SEC_MASK   | RTC_ALARM_MIN_MASK        |
                       RTC_ALARM_MONTH_MASK | RTC_ALARM_YEAR_MASK);

Should we fill mask with some value like alarm time date
I saw in program I don't understand which line say Alarm is happening.
How to know that Alarm is happening ?

user_14586677's picture
7646 posts

There are a set of ISRs that fire if enabled by mask. You add code for

the ones that concern your alarm, and check by reading data/time and

checking against the ISR values that constitute your alarm settings.


t-text-stroke-width: 0px; ">  Every Second handler – RTC_EverySecondHandler()
 Every Minute handler – RTC_EveryMinuteHandler()
 Every Hour handler – RTC_EveryHourHandler()
 Every Day handler – RTC_EveryDayHandler()
 Every Week handler – RTC_EveryWeekHandler()
 Every Month handler – RTC_EveryMonthHandler()
 Every Year handler – RTC_EveryYearHandler()


Regards, Dana.

Log in to post new comments.