ich benutze das Adafruit Datalogger Shield mit dem RTC und möchte das Datum setzen.
Der Codeschnipsel zeigt die Befehle :
RTC.stop();
RTC.set(DS1307_SEC,1);
RTC.set(DS1307_MIN,26);
RTC.set(DS1307_HR,18);
RTC.set(DS1307_DOW,3);
RTC.set(DS1307_DATE,29);
RTC.set(DS1307_MTH,4);
RTC.set(DS1307_YR,12);
RTC.start();
Das Problem ist, das ich nicht über eine Jahreszahl von 2012 hinauskomme, sondern
ab YR,13 ist es immer 2000 als Jahreszahl.
Als library benutze ich die DS1307
Welche Bibliothek setzt Du ein (Link)? Mit dem Namen DS1307 gibt es sicher mehr als ein halbes Dutzend Bibliotheken. Ein Link zur Hardware wäre auch nicht schlecht.
Dann musst Du zum Setzen des Jahres eine VIERSTELLIGE Jahreszahl zwischen 2000 und unter 3000 angeben, sonst passiert da gar nichts. Oder unvorhersehbarer Quatsch.
Die library ist : #include <DS1307.h> und Anhang :
Wir müssen wissen, welche Bibliothek Du einsetzt. Post den Link, von wo Du sie heruntergeladen hast. Wie sie heisst, hattest Du uns schon mitgeteilt, aber es gibt viele verschiedene Bibliotheken, die diesen Namen tragen und wir können nicht erraten, welche davon Du bei Dir einsetzt.
Diese Bibliotheken sind nicht fehlerfrei, nur weil sie im Internet zum Download angeboten werden. Unter Umständen hat genau diejenige, die Du einsetzt, einen solchen Fehler, aber den können wir nur aufspüren und beseitigen, wenn Du uns sagst, wie wir zum Source-Code kommen.
@jurs : dem stimme ich zu, allerdings ist die Setzen-Funktion nur einmal notwendig und sonst nicht
verwendet = geht dann eher in Richtung library ( mein Sketch hat aufgrund meines "Wissens"
garantiert noch Fehler ) @pylon : ich habe nach Deiner Frage nochmal etwas gewühlt und dann die korrekte Bezeichnung der
Variable gefunden ( DayOfWeek > hatte scheinbar nicht genügend probiert ) und es funktioniert.
Es gibt scheinbar Unmengen von DS1307 libraries, allerdings war mir das Problem nicht aufgefallen da
ich die RTC mit der RTClib.h gestellt hatte und ich so 2014 hatte.
Dann habe ich mich wohl unklar ausgedrückt - sorry.
Das Problem ist insofern gelöst das mit der RTClib.h wie in der Adafruit Beschreibung
das Stellen der RTC einwandfrei fuppt und ich nur die genaue Bezeichnung des
Wochentages nicht wusste..
Es könnte also ohne weiteres sein, das mit DS1307 libs ein Stellen von 2014 nicht funktioniert.
Ich kann das aus Zeitgründen momentan nicht weiter verfolgen, aber es wäre mal interessant
ob das auch bei jemand anderes auftritt.
Es könnte also ohne weiteres sein, das mit DS1307 libs ein Stellen von 2014 nicht funktioniert.
Mit welcher? Oder hast Du alle durchgetestet? Die RTClib.h ist übrigens auch eine DS1307 Lib. Falls Du Deine Lib gemeint hast, da hast Du uns immer noch nicht verraten, welche Du eingesetzt hattest.
Das ist die RTClib, mit dieser funktioniert es ja, da nützt also wenig. Wenn ich die Bibliothek sehen wollte, dann jene, die nicht funktioniert, vielleicht hätten wir Dir dann sagen können, weshalb sie nicht funktioniert.
Beim Öffnen des serial monitors gibt es einen Reset ???
Das ist normal und gewollt, denn mit dieser Funktionalität wird der Arduino programmiert. Du kannst das deaktivieren, indem Du einen Kondensator von RST nach GND ziehst, allerdings funktioniert der Upload von neuen Sketches nicht mehr, solange diese Schaltung aktiv ist.