I2C Scanner an MC

OP #3812844
Lesenswert?

Hallo Zusammen,
ich möchte gerne einen I²C Bus Scanner programmieren. Der Scanner sollte 
eine Vielzahl von ICs und Adressmöglichkeiten abdecken. Über eine PC 
Software sollen dann die angeschlossenen Geräte dargestellt werden.
Unter anderem wären das:
-  PCF8574(A)
-  PCF8591
-  PCF8583
-  DS1307
-  MCP23008
-  MCP23017
-  Speicher 2408
-  MAX518
Meine Gedanken wären dass ich das Bauteil über die Adresse anspreche und 
das ACK abwarte. Was mein Ihr geht das einfacher?

Grüße
Ingo
#3812956
Lesenswert?

Ingo Schick schrieb:

> Meine Gedanken wären dass ich das Bauteil über die Adresse anspreche und
> das ACK abwarte. Was mein Ihr geht das einfacher?

Noch einfacher?
Was ist denn daran schwierig?
Jede I2C-Lib hat eine Funktion, mit der man die Kommunikation auf einer 
Adresse startet. Da es nur 127 unterschiedliche Adressen gibt (ich 
ignoriere mal die 10-Bit Erweiterung) bedeutet das in einer Schleife 
diese 127 Adresse durchprobieren. Entweder ein IC antwortet mit 'ACK' 
oder niemand antwortet auf dieser Adresse. Hast du fertige I2C 
Funktionen, dann ist dieser Teil in 5 Minuten programmiert.

Dein Hauptproblem ist viel mehr, dass es keine standardisierte 
Möglichkeit gibt festzustellen, WER denn da eigentlich geantwortet hat. 
Du verwechselst da I2C mit USB.
Gast #3827774
Lesenswert?

Karl Heinz schrieb:
> Noch einfacher?
> Was ist denn daran schwierig?
Nix.
Für Ardino-only-user hier der fertige Code: 
http://playground.arduino.cc/Main/I2cScanner

> Dein Hauptproblem ist viel mehr, dass es keine standardisierte
> Möglichkeit gibt festzustellen, WER denn da eigentlich geantwortet hat.
Ich guck mir da standardisiert den Schaltplan an ;-)
Aber im Prinzip hast Du recht.

VG, Holger

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