Sida 1 av 1
Några funderingar om RTC?
Postat: 20 december 2014, 22:04:28
av Al_Bundy
Hej!
Jag har programmerat 4 stycken 7-segment och en RTC.
RTC:n har en livstid på 1 år och då har jag några frågor.
1.
När jag bränner över en sketch. Följer datum och tid då med från datorn till mikrokontrollern?
Här är en kod jag har skrivit
Kod: Markera allt
RTC.adjust(DateTime(__DATE__, __TIME__)); // Start it
Om RTC:n inte är aktivierad så körs denna kod. Är då __DATE_ och __TIME_ från min dator?
2.
Om jag drar ut batteriet och drar bort min nätaddapter som tillför ström/spänning till min mikroprocessor.
Sparas då tiden och datumet i min RTC? Så nästa gång jag startar upp systemet så återgår den till senaste datum och tid som dem kom ihåg?
3.
Finns det något sätt som jag kan ställa in tiden manuellt via
Kod: Markera allt
RTC.adjust(DateTime(__DATE__, __TIME__)); // Start it
?
Jag har kollat dokumentet keywords.txt men det står inget hur man ställer in tiden manuellt.
Det är bara tiden jag har fokus på.
Jag har använt mig av RTClib
https://github.com/adafruit/RTClib
Re: Några funderingar om RTC?
Postat: 20 december 2014, 22:34:47
av Icecap
1: Bra fråga, kolla dokumentationen. Eller förväntar du att vi andra ska göra det för dig? Men skulle det vara så är det ju totalt likgiltigt att ha en RTC, den börja då alltid med det datum/tid där programmet komplierades så varför bry sig?
2: Nej.
3: Javisst! Det är bara att du sparar dagens datum i rätt format i en variabel som du skriver in som __DATE__ och det samma fast med tiden som __TIME__. Alltså helt enkelt som med alla andra funktioner.
Re: Några funderingar om RTC?
Postat: 20 december 2014, 22:38:59
av Al_Bundy
Jag hittar ingen dokumentation. Okej. Då vet jag att RTC börjar räkna från den tiden koden brändes dit.
Nähä?
Hur kommer det sig att tiden sparas för mig om jag tar bort batteriet och tar bort strömtillförseln till processorn?
Tiden hamnar dock efter. Men på något sätt sparas den.
Okej.
Jag ska genast söka i koden om vad som ska stå där.
Jag har försökt men har inte direkt suttit mig in i koden riktigt.
Re: Några funderingar om RTC?
Postat: 20 december 2014, 22:45:10
av Icecap
RTC-kretsen hinner knappast bli helt spänningslös, de är oftast byggt för att vara riktigt strömsnåla så att ta bort batteri och driftspänning en stund räcker bara till att få klockan att stanna medan registerna står kvar. Gör det över natten och se på resultatet.
Att initiera RTC'n med att sätta datum och tid till ett inbränd värde är nog bland det dummaste jag har upplevd - men jag är inte förvånat heller...
Re: Några funderingar om RTC?
Postat: 20 december 2014, 23:07:07
av Al_Bundy
Okej! Det ska jag testa.
Va?
Vad menar du?
Re: Några funderingar om RTC?
Postat: 21 december 2014, 07:28:00
av Mr Andersson
Al_Bundy skrev:Om RTC:n inte är aktivierad så körs denna kod. Är då __DATE_ och __TIME_ från min dator?
__DATE__ och __TIME__ sätts av preprocessorn, så det är vad klockan på din dator var vid kompilering.
https://gcc.gnu.org/onlinedocs/cpp/Stan ... acros.html
Re: Några funderingar om RTC?
Postat: 21 december 2014, 09:12:05
av LarryXz
Al_Bundy skrev:3.
Finns det något sätt som jag kan ställa in tiden manuellt via
Kod: Markera allt
RTC.adjust(DateTime(__DATE__, __TIME__)); // Start it
?
Vadå manuellt?
Med
RTC.adjust() kan du ju ställa in tiden som du vill.
Re: Några funderingar om RTC?
Postat: 21 december 2014, 14:22:49
av Al_Bundy
Jag insåg nu att __DATE__ kan ersättas med "Dec 14 1970" och __TIME__ kan ersättas med "23:04:30"
Jag trodde först han den skulle ha hex eller något annat tjaffs.
Jag kommer dock bara sätta __DATE__ till
ett en konstant
värde sträng då jag är bara beroende av __TIME__ som jag ska uttrycka som "hh:mm:00".
Det är en hönsbursöppnare jag håller på att bygga

Re: Några funderingar om RTC?
Postat: 21 december 2014, 14:55:48
av Miramithe
Och kom ihåg att när det är djur med i bilden måste man bygga in så att ingen kan fasta eller klämma sig i de automatiska delarna.
Re: Några funderingar om RTC?
Postat: 21 december 2014, 15:39:18
av Al_Bundy
Det är inte badass maskin om du tror det. Men jag ska lägga det på minnet ja
