Forum: Mikrocontroller und Digitale Elektronik I2C-Pins während Laufzeit ändern


von Frank H. (hoehnsfrank)


Lesenswert?

Hallo Gemeinde,
weiß jemand ob man mit Bascom die definierten I2C-Pins während der 
Programmlaufzeit ändern kann?
Ich habe schon 8 PCF8574 sowie 8 PCF8574A am Bus hängen. Jetzt möchte 
ich ein LCD wegen Pinmangel über einen weiteren PCF8574 an den Bus 
hängen. Dazu müsste ich ja einen zweiten, unabhängigen I2C-Bus haben, da 
dann zwei von den PCF8574 die gleiche Adresse haben.
Schon mal danke für eine Antwort.

Gruß,
Frank

von Lui S. (lute)


Lesenswert?

Moin,

nimm doch einen I²C Multiplexer.
Z.B. PCA9548, damit kannst Du einen I²C Bus auf 8
erweitern.

Gruß, Lui

von Frank H. (hoehnsfrank)


Lesenswert?

Ich habe halt gerade keinen Multiplexer und wollte der Einfachheit 
halber ein zweites Paar Pins benutzen.

von Frank H. (hoehnsfrank)


Lesenswert?

Ich schreib mal selbst eine Antwort.

Ich hab gestern ein bisschen ausprobiert und kam zu dem Schluss das von 
mehreren Zuweisungen der SCL/SDA-Pins nur die letzten im Code vom 
Compiler beachtet werden.

Somit ist es, meiner Meinung nach, mit Bascom nicht möglich die I2C-Pins 
währdend der Laufzeit zu ändern.

Frank

von MWS (Gast)


Lesenswert?

Frank Höhn schrieb:
> Somit ist es, meiner Meinung nach, mit Bascom nicht möglich die I2C-Pins
> währdend der Laufzeit zu ändern.

Hättest Du die Hilfe zu Config angeschaut und dort in der Liste SCL/SDA 
gesucht, dann hättest Du unter "Reusable" jeweils "NO" gefunden, damit 
wärst Du statt in einem Tag in einer Minute fertig gewesen :D

von Max (Gast)


Lesenswert?

SChreib dir halt eigene I2C-Routinen, das Protokoll is simpelst und 
wenns schnell sein soll nimm  assembler (oder C wenn dus kannst). Das 
alles gibt dan vlt. ne Seite Code und is in 1-3 Stunden (je nach 
Erfahrung) fertig...

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.