hi rtc

Dependencies:   mbed

Fork of testing_rtc by saiteja dommeti

Committer:
z3on
Date:
Sat Dec 20 10:30:39 2014 +0000
Revision:
1:620887c20cee
Parent:
0:cfecb0ebcc63
Child:
2:c38929a198a7
testing rtc with one error of pointer being returned of a local variable of a function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
duke970 0:cfecb0ebcc63 1 #include "mbed.h"
z3on 1:620887c20cee 2 #include "rtc_tst.h"
z3on 1:620887c20cee 3 //SPI spi(PTD6, PTD7, PTD5); // mosi, miso, sclk
z3on 1:620887c20cee 4 //DigitalOut cs(D9);
duke970 0:cfecb0ebcc63 5
duke970 0:cfecb0ebcc63 6
duke970 0:cfecb0ebcc63 7 int main()
duke970 0:cfecb0ebcc63 8 {
duke970 0:cfecb0ebcc63 9
z3on 1:620887c20cee 10 while(1)
z3on 1:620887c20cee 11 {
z3on 1:620887c20cee 12 Getts();
z3on 1:620887c20cee 13 }
duke970 0:cfecb0ebcc63 14
duke970 0:cfecb0ebcc63 15
z3on 1:620887c20cee 16
z3on 1:620887c20cee 17 /* // Setup the spi for 8 bit data, high steady state clock,
duke970 0:cfecb0ebcc63 18 // second edge capture, with a 1MHz clock rate
duke970 0:cfecb0ebcc63 19 spi.format(8,3);
duke970 0:cfecb0ebcc63 20 spi.frequency(1000000);
duke970 0:cfecb0ebcc63 21
duke970 0:cfecb0ebcc63 22 cs = 0;
duke970 0:cfecb0ebcc63 23 spi.write(0x80); // set write register to seconds
z3on 1:620887c20cee 24 spi.write(0x00); // send value of zero
duke970 0:cfecb0ebcc63 25
duke970 0:cfecb0ebcc63 26 //cs=1;
duke970 0:cfecb0ebcc63 27 //cs=0;
z3on 1:620887c20cee 28 spi.write(0x81);
z3on 1:620887c20cee 29 spi.write(0x00); //write reg to minutes
duke970 0:cfecb0ebcc63 30
duke970 0:cfecb0ebcc63 31 //cs=1;
duke970 0:cfecb0ebcc63 32 //cs=0;
duke970 0:cfecb0ebcc63 33
z3on 1:620887c20cee 34 spi.write(0x82);
z3on 1:620887c20cee 35 spi.write(0x15); //write reg to hours (00-23)
z3on 1:620887c20cee 36
z3on 1:620887c20cee 37 spi.write(0x83);
z3on 1:620887c20cee 38 spi.write(0x07); //write reg to day (1-7)
z3on 1:620887c20cee 39
z3on 1:620887c20cee 40 spi.write(0x84);
z3on 1:620887c20cee 41 spi.write(0x20); //write reg to date(01-31)
z3on 1:620887c20cee 42
z3on 1:620887c20cee 43 spi.write(0x85);
z3on 1:620887c20cee 44 spi.write(0x12); //write reg to mnth(01-12)
z3on 1:620887c20cee 45
z3on 1:620887c20cee 46 spi.write(0x86);
z3on 1:620887c20cee 47 spi.write(0x12); //write reg to year(00-99)
duke970 0:cfecb0ebcc63 48
duke970 0:cfecb0ebcc63 49 cs=1;
duke970 0:cfecb0ebcc63 50 // Receive the contents of the seconds register
duke970 0:cfecb0ebcc63 51
duke970 0:cfecb0ebcc63 52 for(int i=0;i<1000000;i++){
duke970 0:cfecb0ebcc63 53
duke970 0:cfecb0ebcc63 54
duke970 0:cfecb0ebcc63 55 cs=0;
z3on 1:620887c20cee 56 spi.write(0x00); // set read register to seconds
z3on 1:620887c20cee 57 int seconds = spi.write(0x00); // read the value by sending dummy byte
duke970 0:cfecb0ebcc63 58
duke970 0:cfecb0ebcc63 59 //cs=1;
duke970 0:cfecb0ebcc63 60 //cs=0;
duke970 0:cfecb0ebcc63 61
duke970 0:cfecb0ebcc63 62 spi.write(0x01);
duke970 0:cfecb0ebcc63 63 int minutes =spi.write(0x01);
duke970 0:cfecb0ebcc63 64
duke970 0:cfecb0ebcc63 65 //cs=1;
duke970 0:cfecb0ebcc63 66 //cs=0;
duke970 0:cfecb0ebcc63 67
duke970 0:cfecb0ebcc63 68 spi.write(0x02);
duke970 0:cfecb0ebcc63 69 int hours =spi.write(0x01);
duke970 0:cfecb0ebcc63 70
z3on 1:620887c20cee 71 spi.write(0x03);
z3on 1:620887c20cee 72 int day =spi.write(0x01);
z3on 1:620887c20cee 73
z3on 1:620887c20cee 74 spi.write(0x04);
z3on 1:620887c20cee 75 int date =spi.write(0x01);
z3on 1:620887c20cee 76
z3on 1:620887c20cee 77 spi.write(0x05);
z3on 1:620887c20cee 78 int mnth =spi.write(0x01);
z3on 1:620887c20cee 79
z3on 1:620887c20cee 80 spi.write(0x06);
z3on 1:620887c20cee 81 int year =spi.write(0x01);
z3on 1:620887c20cee 82
duke970 0:cfecb0ebcc63 83 //This cs=1 is to make the chipselect line high to "deselect" the slave in our case RTC
duke970 0:cfecb0ebcc63 84 cs = 1;
duke970 0:cfecb0ebcc63 85
duke970 0:cfecb0ebcc63 86 //This printf function is to check the timestamp function in the terminal output
z3on 1:620887c20cee 87 printf("timestamp as = %X : %X : %X : %X : %X : %X : %X\n\r", hours,minutes,seconds,day,date,mnth,year);
duke970 0:cfecb0ebcc63 88 }
duke970 0:cfecb0ebcc63 89
duke970 0:cfecb0ebcc63 90 return 0;
z3on 1:620887c20cee 91 */
duke970 0:cfecb0ebcc63 92
duke970 0:cfecb0ebcc63 93
duke970 0:cfecb0ebcc63 94
duke970 0:cfecb0ebcc63 95 }