![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
yuppie2
Dependencies: SDFileSystem mbed
Fork of rtcfinalcodehet by
Diff: rtsc.cpp
- Revision:
- 3:6cde88f8c50f
- Child:
- 4:374c51671a69
diff -r d67cd8569921 -r 6cde88f8c50f rtsc.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rtsc.cpp Mon Dec 22 10:10:38 2014 +0000 @@ -0,0 +1,73 @@ +#include "rtsc.h" +SPI spi(PTD6, PTD7, PTD5); +DigitalOut cs(PTD2); + + void spiwrite(int a) + { + cs=1; + cs=0; + spi.write(a); + spi.write(0x01); + } + + int spiread(int a) + { + cs=1; + cs=0; + spi.write(a); + return(spi.write(0x00)); + } + char* getname(int year1,int month1,int date1,int day1,int hours1,int minutes1,int seconds1) +{ + year1= hexint(year1); + month1=hexint(month1); + date1=hexint(date1); + day1=hexint(day1); + hours1=hexint(hours1); + minutes1=hexint(minutes1); + seconds1=hexint(seconds1); + /*char y[3]=getstr(year); + char m[3]=getstr(month); + char dat[3]=getstr(date); + char da[3]=getstr(day); + char h[3]=getstr(hours); + char mi[3]=getstr(minutes); + char s[3]=getstr(seconds);*/ + char time[15]; + sprintf(time,"%2d%2d%2d%2d%2d%2d%2d",year1,month1,date1,day1,hours1,minutes1,seconds1); + return(time); + +} + +int hexint(int a) +{ + a=(a/16)*10+(a%16); + return a; +} + +char* getts(void) +{ + spi.format(8,3); + spi.frequency(1000000); + spiwrite(0x80); + spiwrite(0x81); + spiwrite(0x82); + spiwrite(0x83); + spiwrite(0x84); + spiwrite(0x85); + spiwrite(0x86); + for(int i=0;i<1000000;i++){ + int seconds=spiread(0x00); + int minutes =spiread(0x01); + int hours =spiread(0x02); + int day =spi.write(0x03); + int date =spiread(0x04); + int month =spiread(0x05); + int year =spiread(0x06); + cs = 1; + + wait(1); + printf("Seconds register = %2X : %2X : %2X : %2X : %2X : %2X : %2X \n\r",year,month,date,day, hours,minutes,seconds); + printf("b4 returning tmpstmp is : %s\n",getname(year,month,date,day,hours,minutes,seconds)); + } + } \ No newline at end of file