bekomme 24LC02 nicht ausgelesen

OP #3948173
Hallo,

meine uralte Funkamateur DCF77 - Digitaluhr hat den Geist aufgegeben, 
deshalb hab ich begonnen die Hardware zu modernisieren.
Dafür habe ich mir einen Arduino Uno zugelegt und zum sichern der 
Weckzeiten einen I²C EEPROM drangehängt.
Ich programmiere den Arduino (ATmega328P) aber mit Atmel Studio in 
richtigem C und muss mir deshalb die EEPROM Routinen selbst erstellen, 
schon wegen dem Lernfaktor.
Leider bekomme ich mit meinen Leseroutinen nur 0xff gelesen, auch ein 
Logikanalyzer zeigt mir das an, wogegen beim Schreiben scheinbar das 
Richtige raus geht.
Als Puffer wird folgende Struktur, auf uint8_t gecastet, übergeben:
1
typedef struct
2
{
3
  uint8_t hour, minute;
4
  uint8_t armed, active;
5
} alarm_time_t;
Was mache ich falsch?
Angehängte Dateien:
(Firma: matzetronics) #3948217
Nachdem du Lothars Tipps beherzigt hast, musst du auch noch beachten, 
das ein freier Lesevorgang (einer beliebigen Adresse) immer mit einem 
Schreibvorgang (des Adressregisters) beginnt und dann eine 'fliegende' 
Umschaltung (erneute Start Bedingung) auf den Lesevorgang folgt - siehe 
Datenblätter der 24CXX Serie.

Übringes hat der Mega auch ein internes EEPROM.
OP #3948392
Der 24LC22 hat keine Steuerregister, Du meinst wohl das Beschreiben des 
AVR EEPROMs und Pin 7 (WP) liegt auf Masse.
Beim Lesen Schreibe ich ja zuerst die Slaveadresse und dann mit einem 
erneutem Startzyklus die interne EEPROM-Adresse, siehe Code, also zuerst 
mit Bit 0 = 0 und danach mit Bit 0 = 1 der Slaveadresse.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.