I2C SCL nach Startbedingung auf LOW

OP #2449160
Lesenswert?

Hallo alle zusammen,
beim Auslesen eines Sensors wird nach dem Senden der Startbedingung kein 
Takt auf SCL erzeugt.
SCL und SDA sind mit 4,7 als Pullup beschalten (5V).
Als Quellcode habe ich bereits mehrere Varianten getestet und auch den 
Controller habe ich bereits gewechselt (AT90CAN). Merkwürdig erscheint 
mir folgendes:
1.) SCL geht ziemlich zeitgleich mit SDA auf LOW
2.) Beim Senden der Adresse wechselt SDA auf High - SCL bleibt weiterhin 
LOW
Um Auszuschließen das der Sensor einen Treffer hat, habe ich 2 AT90CAN 
miteinander verbunden. Der Effekt bleibt der gleiche - SCL wird nicht 
generiert!!

Wo kann nur der Fehler liegen ?


Der Controller läuft als Master Receiver mit folgenden Quellcode:

int main(void)
{
    DDRB  = 0xff;
    PORTB = 0xff;
    i2c_init();    // 100kHz bei 16Mhz Systemtakt
while(1){

    i2c_start_wait(0x78+I2C_READ);
    i2c_readAck();
    i2c_stop();
}
Die Funktionen basieren auf der Lib von Peter Fleury

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren