mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mehrere I2C-Slaves mit einem PIC


Autor: Digitalo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte gerne dem PIC 16F877 statt einer Slave Adresse mehrere
vergeben. In dem Projekt möchte ich mehrere I2C Port-ICs PCF8574 in dem
PIC simulieren. Jeder Port des soll eine bestimmte I2C Slave Adresse
bekommen.
Leider lößt der Interrupt nur aus wenn die einprogrammierte Slave
Adresse des PICs mit der Adresse auf dem Bus übereinstimmt, d.h. man
kann dem PIC nur eine Adresse vergeben??!
Hat Jemand schonmal so etwas gemacht?
Es wäre nett wenn ihr  mir ein Paar Ideen postet.
MfG

Autor: dds5 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der PIC hört in der Tat nur auf eine Slave Adresse. Man müsste also
immer vorher wissen welche als nächste drankommt und diese dann
einstellen.
Vor einigen Wochen gab es hier schon mal einen Thread zu diesem Thema.

Dieter

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den AVRs gibt es den ATTiny26 und ATTiny2313.

Damit ist sowas möglich, da die nur ein Schieberegister ohne
Adreßvergleich haben.

Man kriegt also bei jeder Adresse einen Interrupt und muß dann
entscheiden, ob man adressiert sein möchte oder nicht.

Wichtig ist aber bei jeder Art I2C-Slave mit µC, daß sich der Master
auch an die I2C-Norm hält, d.h. den SCL als open-drain treibt und dann
darauf lauscht, ob ihn ein anderer auf Low hält (Clock stretching).


Peter

Autor: Digitalo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin leider an den PIC gebunden. Vielleicht kennt wer einen PIC der
einen interrupt auslöst sobald eine Adresse empfangen wurde. Egal
welche. Meine Suche war bisher leider erfolg los.
Gruß

Vielleicht kann man das Problem auch lösen in dem man die Schnittstelle
mit software nachbildet?!

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

sicher geht das per Software.
Am besten zwei Interrupt on change nutzen und dann
per Software auswerten was passiert ist.

Autor: Digitalo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du schon mal so etwas gemacht?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.