initial

Dependencies:   DS3231 _24LCXXX mbed

Committer:
rakware
Date:
Sat Nov 21 09:41:03 2015 +0000
Revision:
0:a213799a9648
initial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rakware 0:a213799a9648 1 #include "mbed.h"
rakware 0:a213799a9648 2 #include "DS3231.h"
rakware 0:a213799a9648 3 #include "_24LCXXX.h"
rakware 0:a213799a9648 4
rakware 0:a213799a9648 5 Serial pc(USBTX, USBRX);
rakware 0:a213799a9648 6
rakware 0:a213799a9648 7 int hour;
rakware 0:a213799a9648 8 int minute;
rakware 0:a213799a9648 9 int second;
rakware 0:a213799a9648 10
rakware 0:a213799a9648 11 int dayOfWeek;
rakware 0:a213799a9648 12 int date;
rakware 0:a213799a9648 13 int month;
rakware 0:a213799a9648 14 int year;
rakware 0:a213799a9648 15 int data2;
rakware 0:a213799a9648 16
rakware 0:a213799a9648 17 I2C i2c(PB_9, PB_8); // sda, scl
rakware 0:a213799a9648 18 _24LCXXX eeprom(&i2c, 0x57);
rakware 0:a213799a9648 19 DS3231 rtc(PB_9,PB_8);
rakware 0:a213799a9648 20
rakware 0:a213799a9648 21 bool EN32kHz()
rakware 0:a213799a9648 22 {int reg=rtc.readRegister(DS3231_Control_Status);
rakware 0:a213799a9648 23 return(reg&DS3231_bit_EN32kHz);
rakware 0:a213799a9648 24 }
rakware 0:a213799a9648 25
rakware 0:a213799a9648 26
rakware 0:a213799a9648 27 int main()
rakware 0:a213799a9648 28 {
rakware 0:a213799a9648 29
rakware 0:a213799a9648 30 pc.printf("rtc online\n");
rakware 0:a213799a9648 31
rakware 0:a213799a9648 32 pc.printf("\r\n\nDS3231 Library test program\r\nremi cormier 2012\r\n\n");
rakware 0:a213799a9648 33
rakware 0:a213799a9648 34 //rtc.setI2Cfrequency(400000); //hi speed support
rakware 0:a213799a9648 35
rakware 0:a213799a9648 36 //rtc.eraseOSF();
rakware 0:a213799a9648 37
rakware 0:a213799a9648 38 //rtc.writeRegister(DS3231_Aging_Offset,0); // uncomment to set Aging Offset 1LSB = approx. 0.1 ppm according from datasheet = 0.05 ppm @ 21 °C from my measurments
rakware 0:a213799a9648 39
rakware 0:a213799a9648 40 //rtc.convertTemperature();//////////
rakware 0:a213799a9648 41
rakware 0:a213799a9648 42 int reg=rtc.readRegister(DS3231_Aging_Offset);
rakware 0:a213799a9648 43 if (reg>127) {
rakware 0:a213799a9648 44 reg=reg-256;
rakware 0:a213799a9648 45 }
rakware 0:a213799a9648 46 pc.printf("Aging offset : %i\r\n",reg);
rakware 0:a213799a9648 47
rakware 0:a213799a9648 48 int regc=rtc.readRegister(DS3231_Control);
rakware 0:a213799a9648 49
rakware 0:a213799a9648 50 pc.printf("DS3231_Control : %i\r\n",regc);
rakware 0:a213799a9648 51
rakware 0:a213799a9648 52
rakware 0:a213799a9648 53
rakware 0:a213799a9648 54 pc.printf("EN32kHz : %i\r\n",EN32kHz());
rakware 0:a213799a9648 55
rakware 0:a213799a9648 56 pc.printf("OSF flag : %i",rtc.OSF());
rakware 0:a213799a9648 57 pc.printf("\r\n");
rakware 0:a213799a9648 58
rakware 0:a213799a9648 59 rtc.readDate(&date,&month,&year);
rakware 0:a213799a9648 60 pc.printf("date : %02i-%02i-%02i",date,month,year);
rakware 0:a213799a9648 61 pc.printf("\r\n");
rakware 0:a213799a9648 62
rakware 0:a213799a9648 63 //rtc.setTime(19,26,00); // uncomment to set time
rakware 0:a213799a9648 64
rakware 0:a213799a9648 65 rtc.readTime(&hour,&minute,&second);
rakware 0:a213799a9648 66 pc.printf("time : %02i:%02i:%02i",hour,minute,second);
rakware 0:a213799a9648 67 pc.printf("\r\n");
rakware 0:a213799a9648 68
rakware 0:a213799a9648 69 //rtc.setDate(3,10,12,2014); // uncomment to set date6,22,12,2012
rakware 0:a213799a9648 70
rakware 0:a213799a9648 71 rtc.readDateTime(&dayOfWeek,&date,&month,&year,&hour,&minute,&second);
rakware 0:a213799a9648 72 pc.printf("date time : %i / %02i-%02i-%02i %02i:%02i:%02i",dayOfWeek,date,month,year,hour,minute,second);
rakware 0:a213799a9648 73 pc.printf("\r\n");
rakware 0:a213799a9648 74
rakware 0:a213799a9648 75 pc.printf("temperature :%6.2f",rtc.readTemp());
rakware 0:a213799a9648 76 pc.printf("\r\n");
rakware 0:a213799a9648 77
rakware 0:a213799a9648 78 // pc.printf("memory int data write!\n");
rakware 0:a213799a9648 79 // data2 = 100;
rakware 0:a213799a9648 80 // eeprom.nbyte_write( 0, &data2, sizeof(int));
rakware 0:a213799a9648 81 // pc.printf("\nend\n");
rakware 0:a213799a9648 82 //
rakware 0:a213799a9648 83 // pc.printf("memory int data read!\n");
rakware 0:a213799a9648 84 // eeprom.nbyte_read( 1, &data2, sizeof(uint8_t) );
rakware 0:a213799a9648 85 // pc.printf("int:%d sizeofint:%d",data2, sizeof(uint8_t));
rakware 0:a213799a9648 86 // pc.printf("\nend\n");
rakware 0:a213799a9648 87
rakware 0:a213799a9648 88 }