hi, Ich wollte wenn eine bestimmte erreignis geschiht, der Zeit diese Ereignis speichern in EEPROM .Weist einer von euch wie funktionniert das? (Ich habe der Zeitfunktion von Peter flurry (Test Programm)RTC.c) danke
Wie funktioniert was? Ins EEPROM schreiben. Da schaust du am besten mal ins AVR-GCC-Tutorial auf dieser Seite (Link findest du in der Leiste links, direkt unter 'Artikel').
Kenne Peter Fleurys Testprogramm nicht, aber im angehaengten Quellcode (RTC.c) erkenne ich keinen Unterschied zwischen meiner avr-gcc-Portierung des Butterfly-Beispielcodes von Atmel. Also einfach nur hier reinkopiert oder uebersehe ich etwas? Erforderliche Schritte (ungefaehr): - Butterfly-Beispielcode nehmen um nicht alles neu schreiben zu muessen (Atmel original oder meine gcc-Portierung) - Platz fuer zusaetzlichen Code schaffen (z.B. sound oder adc und alle Referenzen darauf entfernen - das sind die groessten Speicherfresser) - eine "Set Alarm Time"-Funktion in the State-Maschine der Beispielanwendung einbauen (neuer ID, neuer Handler, siehe main.h, menu.h) - die Funktion implementieren auf Basis der Funktionen in RTC.c der Beispielanwendung. - Die Zeitdaten der Alarmtzeit (Bytes) ins Eeprom speichern, entweder wie von K.-H. Buchegger vorgeschlagen mittels der "offiziellen" Funktionen lt. avr-libc-manual/avr-gcc-Tutorial oder mit den "privaten Funktionen" aus eeprom.c der Beispielanwendung. Die Alarmzeit sollte aber beim Systemstart (vor der Hauptschleife in main()) aus dem Eeprom gelesen werden und in "Ram-Variablen" zwischengespeichert werden, kostet kaum Platz, ist aber deutlicher schneller im Zugriff. - Alarmzeit und aktuelle Zeit der "Zeitupdate"-Funktion von RTC.c vergleichen (Timer-Overflow, wird jede Sekunde ausgefuehrt), globales Flag (volatile!) setzen bei Uebereinstimmung. - in Hauptschleife (main.c) Flag pruefen, wenn gesetzt: Alarmfunktionen ausfuehren, Flag loeschen. Hoffe es hilft, Martin Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.