- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 8 von 8

Thema: RTC DS1307 antwortet nicht trotz richtiger Adresse

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.704
    Zitat Zitat von Technik_Amateur Beitrag anzeigen
    Code:
    ... 
                if (!TWIM_Start (SlaveAddress, TWIM_WRITE))
                {
                    TWIM_Stop ();
                }
                else
                {
                    TWIM_Write (0b00000000);    //Register-Pointer
                    TWIM_Write (0b00000000);    //sec
                    TWIM_Write (0b01001000);    //min
                    TWIM_Write (0b00011001);    //stunde
                    TWIM_Write (0b00000011);    //wochentag
                    TWIM_Write (0b00000101);    //tag
                    TWIM_Write (0b00010110);    //Monat
                    TWIM_Write (0b00011001);    //jahr
                    TWIM_Write (0b00000000);    //control
                    TWIM_Stop ();
                    _delay_ms(1000);
                    
                }
    ... scheitere ich schon beim Schreiben (stellen der Uhr) ...
    Wie wärs, wenn Du uns auch mal Deinen Code zum Schreiben/Lesen per I²C zeigst. Ich fürchte, dass da ein (DER?) Hund begraben liegt. Bei mir sehen z.B. die Schreib-/Lesebefehle so aus (Beispiel - läuft *gg*):
    Code:
    /** defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start() */
    #define I2C_WRITE   0
    /** defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start() */
    #define I2C_READ    1
    // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    //      Lesen vom Slave     
        if(!(i2c_start(SLAVE_MoCo+I2C_WRITE))) //Slave bereit zum schreiben/lesen?
        {                                   //
    // - - - - - - - - - - - - - - - - - - - -
          i2c_start(SLAVE_MoCo+I2C_WRITE);  // Slave bereit zum schreiben/lesen?
          i2cdmy = i2c_write(0x00);         // Buffer Startadresse 0 zum Auslesen
          i2c_stop();                       //
          i2cdmy = i2c_start(SLAVE_MoCo+I2C_READ); // <<<### Lesen beginnen
          btst1  = i2c_read (ACK);          // 1. von 5 Bytes lesen...
          btst2  = i2c_read (ACK);          //
          btst3  = i2c_read (ACK);          // 
          btst4  = i2c_read (ACK);          //
          btst5  = i2c_read (NAK);          // letztes Byte lesen, darum NAK
          i2c_stop();                       // Zugriff beenden
        }                                   //
        else                                // Wenn Fehler, dann nelde jetzt:
        {                                   //    Lesefehler, dazu Fehlerblinken
          uputs0("\r\n\tKein Lesen möglich.\r\n");     //
          i2cerr      = 0b00000001;         // i2c-read nicht möglich
          for(i=0; i<2; i++)  {             // Fehlermeldung : LED i-fach blinken
            SetBit(PORTC, 2);               // LED EIN, HELL
            waitms(3);                      //
            ClrBit(PORTC, 2);               // LED AUS, Dunkel
            waitms(47);       }     // Ende for(i=0; i<..; i++) ==> LED ist AUS AUS
        }                   // Ende if(!(i2c_start(SLAVE_MoCo+I2C_WRITE)))
    // - - - - - - - - - - - - - - - - - - - -
    Und !!! denk bitte dran, gelesen wird bei I²C immer von der ungraden Adresse . . . und natürlich wie Dirk schreibt, müsste dem Controller mitgegeben werden wo >vom Target< er denn lesen soll.

    Zitat Zitat von Technik_Amateur Beitrag anzeigen
    RTC DS1307 antwortet nicht trotz richtiger Adresse
    Denn es sind immer ZWEI Adressen und Write ist nur die gerade Adresse.
    Geändert von oberallgeier (24.11.2013 um 13:05 Uhr)
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. RTC DS1307 mit Bascom konfigurieren bzw. abfragen
    Von lwl im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 08.05.2012, 20:02
  2. DS1307 RTC mit Bascom
    Von avrflo im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 29
    Letzter Beitrag: 08.02.2009, 11:55
  3. SD-Karte antwortet nicht
    Von DavidN im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 31.08.2007, 13:59
  4. Anfänger - Problem mit RTC DS1307 (gelöst)
    Von RobbyNB im Forum AVR Hardwarethemen
    Antworten: 0
    Letzter Beitrag: 15.03.2007, 09:50
  5. BasisUnit antwortet nicht !!
    Von Marcoman im Forum Robby CCRP5
    Antworten: 2
    Letzter Beitrag: 23.12.2004, 20:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test