RTC project
Dependencies: DS1307 TextLCD mbed
main.cpp@0:a1b3b73a7312, 2014-11-27 (annotated)
- Committer:
- RubenHendriks
- Date:
- Thu Nov 27 10:29:01 2014 +0000
- Revision:
- 0:a1b3b73a7312
RTC project
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RubenHendriks | 0:a1b3b73a7312 | 1 | // show how the DS1307 class works |
RubenHendriks | 0:a1b3b73a7312 | 2 | #include "ds1307.h" |
RubenHendriks | 0:a1b3b73a7312 | 3 | #include "mbed.h" |
RubenHendriks | 0:a1b3b73a7312 | 4 | #include "TextLCD.h" |
RubenHendriks | 0:a1b3b73a7312 | 5 | |
RubenHendriks | 0:a1b3b73a7312 | 6 | DS1307 my1307(p9,p10); // start DS1307 class and give it pins for connections of the DS1307 device |
RubenHendriks | 0:a1b3b73a7312 | 7 | TextLCD lcd(p21,p22,p23,p24,p25,p26); |
RubenHendriks | 0:a1b3b73a7312 | 8 | |
RubenHendriks | 0:a1b3b73a7312 | 9 | int sec; |
RubenHendriks | 0:a1b3b73a7312 | 10 | int min; |
RubenHendriks | 0:a1b3b73a7312 | 11 | int hours; |
RubenHendriks | 0:a1b3b73a7312 | 12 | int day; |
RubenHendriks | 0:a1b3b73a7312 | 13 | int date; |
RubenHendriks | 0:a1b3b73a7312 | 14 | int month; |
RubenHendriks | 0:a1b3b73a7312 | 15 | int year; |
RubenHendriks | 0:a1b3b73a7312 | 16 | |
RubenHendriks | 0:a1b3b73a7312 | 17 | void test_rw(int test) { |
RubenHendriks | 0:a1b3b73a7312 | 18 | } |
RubenHendriks | 0:a1b3b73a7312 | 19 | |
RubenHendriks | 0:a1b3b73a7312 | 20 | int main() { |
RubenHendriks | 0:a1b3b73a7312 | 21 | int junk = 0; |
RubenHendriks | 0:a1b3b73a7312 | 22 | |
RubenHendriks | 0:a1b3b73a7312 | 23 | while(1){ |
RubenHendriks | 0:a1b3b73a7312 | 24 | wait(0.5); |
RubenHendriks | 0:a1b3b73a7312 | 25 | |
RubenHendriks | 0:a1b3b73a7312 | 26 | test_rw(my1307.gettime( &sec, &min, &hours, &day, &date, &month, &year)); |
RubenHendriks | 0:a1b3b73a7312 | 27 | |
RubenHendriks | 0:a1b3b73a7312 | 28 | lcd.cls(); |
RubenHendriks | 0:a1b3b73a7312 | 29 | lcd.locate(0,0); |
RubenHendriks | 0:a1b3b73a7312 | 30 | lcd.printf("%d:%d:%d",hours,min,sec); |
RubenHendriks | 0:a1b3b73a7312 | 31 | lcd.locate(0,1); |
RubenHendriks | 0:a1b3b73a7312 | 32 | lcd.printf("%d/%d/%d",date,month,year); |
RubenHendriks | 0:a1b3b73a7312 | 33 | |
RubenHendriks | 0:a1b3b73a7312 | 34 | junk = 0x39; // just a junk value do read and write test to DS1307 ram |
RubenHendriks | 0:a1b3b73a7312 | 35 | test_rw(my1307.write( 0x20, junk)); // this should write the value of junk to register 0x20 (a ram location) in the ds1307. |
RubenHendriks | 0:a1b3b73a7312 | 36 | junk = 0; // clear junk to show that when the register is read from the correct value is obtained |
RubenHendriks | 0:a1b3b73a7312 | 37 | test_rw(my1307.read( 0x20, &junk)); // this should read register 0x20 |
RubenHendriks | 0:a1b3b73a7312 | 38 | } |
RubenHendriks | 0:a1b3b73a7312 | 39 | } |