This sketch demonstrates how add and substract time values using the time span objects
Dependencies: Hotboards_rtcc mbed
main.cpp
- Committer:
- Hotboards
- Date:
- 2016-02-10
- Revision:
- 0:5e1b09cde0a8
File content as of revision 0:5e1b09cde0a8:
/* Hotboards_rtcc Library - setting time and date Demonstrates the use a MCP7941x clock calendar. The Hotboards_rtcc library works with this microchip real time clock (http://www.hotboards.org). This sketch demonstrates how add and substract time values using the time span objects The circuit: * VDD --> 3.3v * GND --> GND * SDA --> SDA * SCL --> SCL */ #include "mbed.h" #include "Hotboards_rtcc.h" /* days of the week */ const char *week[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; /* months of the year */ const char *months[] = {"JAN","FEB","MAR","APR","MAY","JUN", "JUL", "AUG","SEPT","OCT","NOV","DEC"}; /*serial port init*/ Serial pc(USBTX,USBRX); /*i2c instance delaration for use with the rtcc library*/ I2C device(PB_9, PB_8); /*lets declare and rtcc instance */ Hotboards_rtcc rtcc(device); /*function for display date time */ void display_DateTime( DateTime &dt ) { printf( " Time- %d:%d:%d Date- %s/%d/%s/%d \n",dt.hour( ),dt.minute( ),dt.second( ),week[dt.dayOfTheWeek( )],dt.day( ),months[dt.month( )],dt.year()); } int main() { /*i2c bus clock set to 100khz*/ device.frequency(100000); /* init the rtcc, just enable the clock if not already enable */ rtcc.begin(); /* set the time (15:30:00) and date 1/MAR/2001 */ rtcc.adjust( DateTime( 2001, 2, 1, 15, 30, 0 ) ); while(1) { /* get the actual time and date */ DateTime time = rtcc.now( ); /* display through serial port*/ printf( "Actual time "); display_DateTime( time); DateTime delta = time + TimeSpan(1, 0, 0, 0); // One day later with TimeSpan addition. printf( "1 day later "); display_DateTime( delta); delta = time + TimeSpan(7, 0, 0, 0); // One week later with TimeSpan addition. printf( "one week later"); display_DateTime( delta); delta = time + TimeSpan(0, 0, 30, 10); // Fourty two minutes and fourty two seconds later. printf( "00:42:42 later"); display_DateTime( delta); delta = time - TimeSpan(7, 0, 0, 0); // One week ago. printf( "one week ago "); display_DateTime( delta); printf( "\n"); /* wait ten seconds */ wait( 10 ); } }