Hallo, ich habe ein solches Kombi-Modul: http://www.play-zone.ch/de/combo-breakout-mit-ds3231-temperatur-zeit-24c32-memory.html und kann die RTC (DS3231) erfolgreich lesen und auch manipulieren. Bei dem EEPROM (AT24C32) hingegen liefert schon das i2c_start(Dev24C32+I2C_WRITE); "1" zurück. Ich benutze das ASM-Modul der Lib, der µC läuft mit 5 Volt bei 2 MHz, das Modul hängt da mit kurzen Kabeln direkt dran. Als Adresse habe ich aus dem Datenblatt (www.atmel.com/images/doc0336.pdf) 0xA0 oder 0XA7 entnommen, je nachdem wie ich den da: http://www.play-zone.ch/de/combo-breakout-mit-ds3231-temperatur-zeit-24c32-memory.html verlinkten Schaltplan verstehen soll. Klappt beides nicht. Sind da irgendwelche Probleme mit der Lib oder dem ASM-Modul bekannt oder (wahrscheinlicher) bin ich gerade einfach nur zu blöd? Mein Oszi hat keine Speicherfunktion. Rauszufinden ob das China-Modul überhaupt korrekt funktioniert könnte also etwas, öhm, aufwändiger werden...
Andi M. schrieb: > Als Adresse habe ich aus dem Datenblatt > (www.atmel.com/images/doc0336.pdf) 0xA0 oder 0XA7 entnommen Dieses Mal hat die therapeutische Wirkung des Niederschreibens das Problem ein paar Sekunden zu spät gelöst, da war der Thread schon eröffnet: Die 3 optionalen Adress-Bits sitzen natürlich "links" vom R/W-Bit, es ist also 0xAE, nicht 0xA7. Scheint zu klappen. :)
:
Bearbeitet durch User
Andi M. schrieb: > Als Adresse habe ich aus dem Datenblatt > (www.atmel.com/images/doc0336.pdf) 0xA0 oder 0XA7 entnommen, je nachdem > wie ich den da: > http://www.play-zone.ch/de/combo-breakout-mit-ds3231-temperatur-zeit-24c32-memory.html > verlinkten Schaltplan verstehen soll. > > Klappt beides nicht. > > Sind da irgendwelche Probleme mit der Lib oder dem ASM-Modul bekannt > oder (wahrscheinlicher) bin ich gerade einfach nur zu blöd? kommt mir bekannt vor das Datenblatt hat mich auch dorthin geschickt Beitrag "I2C Adresse ermitteln" aber da es (erst mal) nur 127 Adressen gibt musst du auf rechts shift prüfen aus 0xA0 wird 0x50 Joachim B. schrieb: > http://playground.arduino.cc/Main/I2cScanner > > läuft prima > > ich nutze das auf dem nano und geben das auf nokia 5110 LCD > > dummerweise betrachtet jeder die Adressgenerierung anders > > ich schaue ins Datanblatt und nehme alle Bits ! für ein Adressbyte ! > in o.g. Link wurde das nicht getan was zu einer Verwirrung bei mir > führte die ich dann später auflösen konnte. > > ist zwar am Arduino aber nun gut.... > I2C Scanner -> Scanning... > I2C device found at address 0x38; 0111000x; << 0x70; 01110000 PCF8574A > Tastatur > I2C device found at address 0x50; 1010000x; << 0xA0; 10100000 > I2C device found at address 0x68; 1101000x; << 0xD0; 11010000 > DS1307/DS3231 RTC > done > > meine Tastatur liegt bei mir auf 0x70, das letzte Bit ist aber R/W > vorbehalten was für die PI (der anderen) Schreiber eben nicht zählt oder > anders gesagt, es sind nur 127 Adressen nach alter Definition möglich, > ergo wurden nur die vordersten 7 Bit beguckt was zu 0x38 führt > > mit einem links shift habe ich meine kleine Welt wieder gerade gerückt, > wie man das auch betrachtet ist ja egal, nur muss man sich vorher über > die Betrachtungsweise einigen.
Danke Joachim :) Soweit ich das überblicken kann läuft jetzt alles: - Zeit aus der RTC lesen und schreiben (in globale Variablen) - Einzelne Bits oder Bytes der RTC maniplulieren um Einstellungen zu ändern - EEPROM einzelne oder mehrere Bytes lesen und schreiben Der Code ist nicht super umfangreich kommentiert, aber da ich N00b bin sehr einfach geschrieben und sollte damit nachvollziehbar sein, also lasse ich ihn mal hier. Vielleicht hilft ja irgendwann mal einem anderen Anfänger. Hier nochmal die Links zu Datenblättern und Peter Fleurys I2C-Lib: Ebay/China-Modul: http://www.play-zone.ch/de/combo-breakout-mit-ds3231-temperatur-zeit-24c32-memory.html RTC: datasheets.maximintegrated.com/en/ds/DS3231.pdf EEPROM: www.atmel.com/images/doc0336.pdf I2C-Lib: http://homepage.hispeed.ch/peterfleury/avr-software.html
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.