Erkennen ob I2C Bus eingesteckt ist (AVR)

#1702920
Lesenswert?

Hallöchen,

ich baue gerade eine Steuerung als Slave, welche ihre Parameter 
wahlweise über Trimmer oder I2C bekommt.
Nach Einstecken und erfolgreicher Datenübertragung über I2C sollen die 
Daten der Trimmer nicht genutzt werden. Und nach dem Herausziehen des 
I2C sollen die Analogen Werte des Trimmers genutzt werden.

Prozessor ist ein Atmega168

Hatte schon drüber nachgedacht die Daten aus dem I2C zu bevorrechtigen 
und ein Reset nach dem Herausziehen zu fordern. Aber die Lösung gefällt 
mir nicht. Möchte das Automatisieren.

Schonmal Danke für die Mühe!
#1703092
Lesenswert?

keine schlechten ideen,

danke, werde zuerst probieren das über den ACK zu machen.
Wobei das natürlich vorraussetzt das der Master in gewissen 
Zeitabständen den Slave ansprechen muss, da sonst kein ACK im Slave 
generiert wird.
Werde mir dann den ACK innerhalb des Slaves herausziehen und damit die 
Trimmer sperren.

Ansonsten die Widerstände. Allerdings hab ich mein Prototyp schon 
fertig.

TNX;)
#1703305
Lesenswert?

Naja ich hab dich so verstanden das du während dem Startup überprüfen 
willst wer angeschlossen = am leben ist.
Du könntest also während dem Startup alle möglichen Slaves ansprechen, 
schauen ob sie reagieren und dir daraus eine Tabelle erstellen wer da 
ist und wer nicht. Wenn während dem Betrieb jemand nicht reagiert 
während du ihn ansprichst kannst du dir einen "Timeout Counter" bauen - 
will heißen: Hat der Slave so und so oft nicht reagiert wird er als tot 
Markiert und nicht mehr angesprochen (du sprichst sie ja sowieso 
irgendwann mal an und erwartest ein ACK, brauchste nich alle 10ms 
nachfragen "bist du da?" das macht nur unnötigen Traffic).

Verdammt - bei welchem Bus wird das so angewandt -.- ich habs vergessen 
^^

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