Forum: Mikrocontroller und Digitale Elektronik BCD zeit von Rtc in Unixzeit umrechen


von robert (Gast)


Lesenswert?

Guten Abend,
ist es möglich mit einfachen mitteln die Uhrzeit eines RTC in BCD Format 
in das Unixzeit Format zu wandeln?
Danke schon jetzt für jeden Tipp!!

von Wilhelm M. (wimalopaan)


Lesenswert?

mktime() wandelt eine broken-out time in time_t.

von Noch nicht Rentner (Gast)


Lesenswert?

Als durchnittlicher User haette ich mal gurgel nach der codierung, resp 
umrechnung gefragt, ... nein ?

von robert (Gast)


Lesenswert?

Wilhelm M. schrieb:
> mktime() wandelt eine broken-out time in time_t.

Was heißt das genau?
Wo finde ich diese Funktion?

von Wilhelm M. (wimalopaan)


Lesenswert?


von robert (Gast)


Lesenswert?

Wilhelm M. schrieb:
> Wo solls denn laufen?

Es soll auf einen At80Can128 laufen;-)

von Wilhelm M. (wimalopaan)


Lesenswert?

Na dann ist die AVR Libs ja die richtige.

Aber bitte das Lesen der man-pages nicht vergessen ...

von Gerd E. (robberknight)


Lesenswert?

soll die RTC in UTC-Zeit laufen (einfach) oder muss die in einer andern 
Zeitzone laufen die Sommerzeit hat (kompliziert)?

Oder muss die Zeitzone sogar frei einstellbar sein (richtig kompliziert, 
Zeitzonendatenbank nötig, regelmäßige Updates für Zeitzonendatenbank 
nötig da sich die irgenwo auf der Welt ständig ändern)?

von robert (Gast)


Lesenswert?

Verstehe ich das richtig das ich mit dem RTC die Structure von der 
Time.h fülle und dann mit der Funktion mktime in die Unixzeit umrechnen 
kann?

von robert (Gast)


Lesenswert?

Gerd E. schrieb:
> soll die RTC in UTC-Zeit laufen

Ja das wäre das Ziel!

von Wilhelm M. (wimalopaan)


Lesenswert?

Genau. Aber eben Zeitzone beachten:
1
    set_zone(ONE_HOUR); // europe central time
2
    set_dst(eu_dst);

könnte helfen ...

von robert (Gast)


Lesenswert?

Sind diese Funktionen cpu intensiv?

von Wilhelm M. (wimalopaan)


Lesenswert?

Du meinst mktime()? Was ist Dein Vertsändnis von CPU-intensiv?

Nein.
Hauptsächlich Fallunterscheidungen ...

von Wilhelm M. (wimalopaan)


Lesenswert?

Du solltest Dich etwas mit "Zeit" beschäftigen:

http://www.tondering.dk/claus/cal/gregorian.php

von robert (Gast)


Lesenswert?

Wilhelm M. schrieb:
> Du meinst mktime()? Was ist Dein Vertsändnis von CPU-intensiv?
>
> Nein.
> Hauptsächlich Fallunterscheidungen ...

Dauert die Berechnung lange? oder benötigt sie viel Speicher???

von Wilhelm M. (wimalopaan)


Lesenswert?

was ist lange? was ist viel speicher?

Man wird ja nicht je ms die RTC in time_t wandeln. Sondern vllt nur 
einmal am Tag und sonst nur die Sekunden inkrementieren ...

von blasphemist (Gast)


Lesenswert?

robert schrieb:
> Dauert die Berechnung lange? oder benötigt sie viel Speicher???

Alles was mit Unix oder Linux zu tun hat dauert lange und braucht viel 
Speicher!

von robert (Gast)


Lesenswert?

Wilhelm M. schrieb:
> was ist lange? was ist viel speicher?

Lange ist einige ms und viel Speicher ist mehrere Prozent des Gesamt 
Speicher;-)

von Wilhelm M. (wimalopaan)


Lesenswert?

blasphemist schrieb:
> robert schrieb:
>> Dauert die Berechnung lange? oder benötigt sie viel Speicher???
>
> Alles was mit Unix oder Linux zu tun hat dauert lange und braucht viel
> Speicher!

Blödsinn.

von Wilhelm M. (wimalopaan)


Lesenswert?

robert schrieb:
> Wilhelm M. schrieb:
>> was ist lange? was ist viel speicher?
>
> Lange ist einige ms und viel Speicher ist mehrere Prozent des Gesamt
> Speicher;-)

Wenn der uC mit 1000Hz getaktet wird und weniger als 16 Byte Ram hat, 
wirds wohl schwierig ...

Schau Dir die Umrechnung doch einfach mal an!

von robert (Gast)


Lesenswert?

Ok vielen Dank für die Hilfe

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.