-
        

Ergebnis 1 bis 5 von 5

Thema: RTC PCF8583 beim READ ein NAK

  1. #1

    RTC PCF8583 beim READ ein NAK

    Anzeige

    Hallo Leute,

    ich bin gerade total am verzweifeln, min I2C Driver funktioniert einwandfrei lange getestet, aber er mag einfach nicht den PCF8583 auslesen denn ich am BUS hängen habe.
    Lustigerweise kann ich darauf schreiben aber nciht lesen.

    Ich habe als MCU einen LPC935 von NXP.

    Read/Write BIt wird vom Treiber je nach FUNC gesetzt!!!!


    Hier die 2 Funktionen:

    Code:
     
    char init_pcf8583()
    {
        xdata char buf[] = {0, 0x30, 0, 0, 0, 0};
        /* set year and day bit for */
        return i2c_transmit( PCF8583, &buf, 6 );   
    }
    
    /* get_time */
    char get_time( time *tm )
    {
        idata char ret = 0;
        xdata char buf[ 6 ];
        buf[ 0 ] = 1;
        if( i2c_transmit( PCF8583, buf, 1 ) != I2C_OK )
            return -1;                                   
     
        ret = i2c_receive( PCF8583, buf, 1, 1);
    //    tm->seconds = buf[ 1 ];
    //    tm->minute = buf[ 0 ]; 
        return ret;
    }
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Servus,
    Du übergibts hier immer die gleiche Adresse bei Senden und Empfangen ?

    Für den Fall das es noch nicht bekannt ist:
    Beim lesen vom Slave muss das 1. Bit der Adresse gesetzt sein, also im Prinzip um eins höher sein als die Schreibadresse, macht das deine Routine ?
    Ansonsten haut das mit dem receive nicht hin !

  3. #3
    oh das habe i vergessen zu schreiben.

    ich abstrahiere es übergebe nur 7bit, das read und write bit wird vom I2C treiber gemacht.

    aber wie ich schon geschrieben hatte, der I2C treiber funktioniert einwandfrei in der praxis habe andere devices auch schon im produktiveinsatz laufen.

    2 verschiedene addressen für ein gerät ist unschön nochdazu wenn das nur 1bit ist!
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  4. #4
    hallo,

    habe es gerade mit dem LogicAnalyser angeschaut.
    Bekomme beim lesen auf dem RTC ihmmer ein NAK beim schreiben ein ACK, woran kann das liegen?
    Die addresse ist richtig und das read bit wird auch gesezt?

    gibt es da ne einstellung wo der rtc das ablehnt?
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

  5. #5
    gelöst leute war nur zu blöd um mein eigenen wartepunkt aus debuging zwecke wegzumachen!
    Selbst ist der Coder unter Linux \/

    HP: www.tuxempire.de

Berechtigungen

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