Forum: Compiler & IDEs I2C Bus schreiben hängt wenn kein gerät angeschlossen ist


von andi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich setzte standartmäsig beim tsrat des master alle slaves auf 0(dh. 
alle ports zur steuerung von Relais oder ähnlichen werden auf 0 
gesetzt).
Wenn aber am master kein slave angschlossen ist kabel ab.
Dann bleibt mein programm hängen.

Wie kann man elegant abfragen ob ein gerät da ist oder nicht???

Habe den code hier.

Er hängt in der while schleife

while (!(TWCR & (1<<TWINT)));


Danke

Andi

von (prx) A. K. (prx)


Lesenswert?

Timeout, d.h. nicht beliebig lange warten, sondern nur begrenzte Zeit.

von Andi (Gast)


Lesenswert?

Hallo


Habe eine Schleife draus gemacht mit Zähler 1000 geht jetzt einwandfrei.

Wenn gerät ab vom Bus und Bus Offen dann Timeout und Gerät ist nicht da.
Wenn Gerät an dann wird vorzeitig beendet und abgefragt und die 
Kommunikation gestartet.

Geht bestens.

Danke

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
Noch kein Account? Hier anmelden.