Forum: Mikrocontroller und Digitale Elektronik I2C Scanner an MC


von Ingo S. (schicki)


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

von Joachim B. (jar)


Lesenswert?

den Thread gibts doch schon, mal hier reinsehen ?

Beitrag "I2C Adresse ermitteln"

von Karl H. (kbuchegg)


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.

: Bearbeitet durch User
von Holger (Gast)


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

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.