saiteja dommeti / Mbed 2 deprecated rtc_justtest

Dependencies:   mbed

Fork of rtc_justtest by Pradeep Kotipalli

Committer:
z3on
Date:
Sun Dec 21 09:06:20 2014 +0000
Revision:
1:21efeeb9b679
Parent:
0:a07e5a4c94bb
cs for writing

Who changed what in which revision?

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