www.mikrocontroller.net

Forum: Compiler & IDEs suche C source für die DS1307 RTC


Autor: Laura (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich suche einen C Code für die DS1307 RTC von Dallas. Und zwr möchte
ich die zeit mit der I2C Library von Peter Fleury auslesen. eigentlich
brauch ich ja nur den Auslesevorgang, da ich eh mit dam Datenblatt nich
herbekomme.

Danke schon mal!

Gruß,
Laura

Autor: raoul4 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bist du ein mädchen ? (sehr, sehr selten hier!!!)

mfg raoul4

Autor: Laura (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja bin ich ... überascht??

Autor: raoul4 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja ziemlich!

mfg raoul4

Autor: Weinga-Unity (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
He, was bist denn du für eine?
8051er, AVR, MSP430, PIC?

mfg W.U.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"...I2C Library von Peter Fleury..."

Ich denke nicht, daß es sinnvoll ist, die Lösungssuche so stark
einzuschränken.

Entweder der Peter Fleury hat ein eigenes Forum oder Du bist auch offen
für andere Lösungen.

Die bisherigen Antworten sind nicht unhöflich gemeint, sie sagen nur
durch die Blume, daß diese Leute den DS1307 bzw. die "I2C Library von
Peter Fleury" nicht kennen (wie ich).


Persönlich halte ich nichts davon den I2C als eine Black-Box zu
betrachten. Besonders als Software-Singlemaster ist er eigentlich gut
zu verstehen und portabel.

Ich bin gerade dabei den Hardware-I2C des ATMEGA8 zu benutzen,
allerdings als Multimaster. Lustig ist, daß er funktional 100% vom
Philips 80C552 abgekupfert ist.


Peter

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine I2C Library ist für den AVR und AVR-GCC Compiler geschrien.
Deshalb wäre es eigentlich sinnvoller Laura würde diese Frage im
AVR-GCC Forum auf dieser Site stellen.

Zu meiner I2C library gibt es ein Beispiel (Lesen/Schreiben von I2C
EEprom).

Der Dallas RTC 1307 kann angesteuert werden wie ein I2C EEprom.

Dazu muss man allerdings das Datenblatt des 1307 lesen um zu verstehen
wie die einzelnen Register anzusprechen sind.

Autor: Markus Willimann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich habe den DS1307 vom PIC18F452 angesprochen.

Der Compiler ist CCS http://www.ccsinfo.com/picc.shtml

Gruss Markus

Autor: Karlheinz Druschel (kdruschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat überhaupt schon mal jemand den DS1307 mit der I2C Library von Peter 
Fleury zum Laufen gebracht ?
Wenn ich den DS1307 ansteuere wie im EEprom Beispiel angegeben, dann 
hängt sich der Mega128 auf.....

Greets
Karlheinz

Autor: Huricane86 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ja das selbe problem hab ich auch

allerdings mitm atmega32
passiert einfach nichts und controller hängt sich auf, bzw ich komm nur 
bis zur fehlermeldung die vom LCD ausgegeben wird, Pegel passen aber 
alle vom I2C

bin auch noch nicht so gewand in C

kleine hilfe wäre echt super

vielen dank
Flo

Autor: Harald Boller (grieko)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es mittlerweile am Laufen, allerdings mit anderen Routinen aus 
dem Net:


Auszug aus dem Quellcode:

RTC_DATE_TIME rtc;


if (rtc_read(&rtc)== RTC_NO_ERROR)
{
    sprintf(buffer, "%s: %d%d:%d%d:%d%d - %d%d.%d%d.%d%d%d%d",
      "Current timestamp of RTC is",
    rtc.time[0], rtc.time[1], rtc.time[3], rtc.time[4], rtc.time[6],
          rtc.time[7], rtc.date[0], rtc.date[1], rtc.date[3], 
rtc.date[4],
          rtc.date[6], rtc.date[7], rtc.date[8], rtc.date[9]);
    uart1_puts(buffer);
    uart1_puts("\n\r");
} else {
    uart1_puts("Error reading RTC\n\r");
}

Autor: Huricane86 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tataaa es funktioniert auch mit peter fleury i2c include file
 lag am unübersichtlichen datenblatt...hatte die adresse für den ds1307 
falsch peinlich

Autor: Markus P. (sebastianwurst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Harald oder alle Anderen,
hoffe du treibst dich hier noch rum.
 Habe da nämlich eine Frage und zwar habe ich mit "deinem" Code die RTC 
DS1307 am laufen, sie funktioniert prima. Jetz will ich jedoch die Uhr 
über das LCD Display stellen . Wie kann ich das denn machen ? Da gibt es 
ja die "rtc_write" aber ich weiss nicht wie ich da irgendetwas in das 
passende Register rein schreiben kann.

Benutze ein Atmega8.

Hast Du oder jemand anderes einen Tip ?

Autor: Denis Köllner (denis_tbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe die Dateien von "grieko" verwendet, jetzt stürzt der Controller 
zwar nicht mehr ab bei der Kommunikation, jedoch kann ich nur Nullen 
lesen. Bei der Implementierung einer Register Initialisierung scheitert 
es dann auch noch.
Es ist kein 1Hz (4,8,32kHz) Signal machbar, als ob das Register nicht 
reagiert.
Hier der Auszug aus der INI:
unsigned char rtc_init(void)
{
  unsigned char errorStatus;
  
  errorStatus = i2c_start();
  if(errorStatus == RTC_ERROR)
  {
    i2c_stop();
    return(RTC_ERROR);
  }

  errorStatus = i2c_sendAddress(0b11010000);
  if(errorStatus == RTC_ERROR)
  {
    i2c_stop();
    return(RTC_ERROR);
  }

  errorStatus = i2c_sendData(0b00000111);
  if(errorStatus == RTC_ERROR)
  {
    i2c_stop();
    return(RTC_ERROR);
  }

  errorStatus = i2c_sendData(0b10010000);
  if(errorStatus == RTC_ERROR)
  {
    i2c_stop();
    return(RTC_ERROR);
  }
  
  i2c_stop();
  return(RTC_NO_ERROR);
}
Kann mir jemand sagen, wieso die RTC nicht startet, bzw den Ausgang 
nicht Taktet?
Das Datenblatt http://www.pobot.org/IMG/pdf/ds1307.pdf sowie 
http://datasheets.maximintegrated.com/en/ds/DS1307.pdf habe ich bereits 
zu Hilfe gezogen. Leider bisher ohne Erfolg, aber dafür mit noch mehr 
Fragen ...

Grüße und Danke Schonmal

Autor: Denis Köllner (denis_tbg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So...
Nach etlichem Gesuche und Probieren habe ich etwas gefunden mit dem es 
Funktioniert.
https://github.com/Osteri/DS1307
Ist zwar ein anderes Rückgabeformat, aber denn noch sehr einfach 
gehalten und auch gut zu verstehen.

Danke und GT_N8

Beitrag #4338887 wurde von einem Moderator gelöscht.
Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denis K. schrieb:
> Kann mir jemand sagen, wieso die RTC nicht startet, bzw den Ausgang
> nicht Taktet?

die 1307 braucht doch ein stop start command

ich mache das ja mit der arduino LIB und verzweige bei Bedarf auf DS1307 
oder DS3231

ich weiss ja nicht wie ihr das verwendet, mit start und stop für die 
DS1307?

Beitrag #4338944 wurde von einem Moderator gelöscht.
Beitrag #4338950 wurde von einem Moderator gelöscht.
Beitrag #4338997 wurde von einem Moderator gelöscht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.