Hallo, kann man eigentlich die Anschlüsse SDA und SCL abwechselnd für die angeschlossenen I2C-Bauteile und dann als ganz normale Port-Ausgänge verwenden? Würde an die beiden Anschlüsse gerne 2 Datenbits vom LCD dranhängen. Theoretisch sollte es laut Datenblatt (ATMEGA64) funktionieren, aber spielen da auch die anderen Bauteile mit? Grüße Hans
Das geht. Du mußt dann nur jedesmal die Ports umkonfigurieren. Das Display bekommt kein Enable-Signal, solange Daten über I2C übertragen werden. Und umgekehrt muß dann natürlich auch irgendwie der I2C-Baustein abgekoppelt werden, während Daten zum/vom Display übertragen werden. Hat der ein CS-Eingang oder etwas vergleichbares?
Ich hab nicht nur einen I2C Baustein, sondern gleich mehrere. CS verwendet man nur bei SPI, also nein keiner der vier Bausteine hat einen CS-Eingang o.ä. Geht es dann doch nicht?
Habe die Schaltung aufgebaut und sie funktioniert problemlos. Man muss nur beachten, dass das Enable-Signal des LCD auf einer eigenen Leitung liegt. Weiters muss das TWI-Interface (bei atmega über TWCR) immer abgeschalten werden, wenn man SDA oder SCL als Ausgänge (Ports) nutzen will!
Wenn Dein ATMEGA als SingleMaster läuf, ist das i.O. Ich benutze im Hinblick auf eventl. Multi-Master für solche Anwendungen immer einen I2C-Repeater (bsp. PCA9515A). Lg EC
Du mußt dann aber drauf achten, daß nie SDA von 1->0 gesetzt wird, während SCL = 1 ist. Das könnte dann von den Slaves als Start empfangen werden und dann könnten sie dem LCD dazwischen funken. Peter
Danke für den Tipp, hab ich als Sicherheit noch in den Code integriert. Hans
...hat nix mit I²C zu tun, aber das Prinzip, Ports gleichzeitig für verschieden Zwecke zu verwenden, scheint ziemlich verbreitet zu sein. hab mal einen alten Taschenrechner aus den 70ern mit TMS0103-Prozessor aufgemacht. Da hängt die Tastatur an den gleichen Ports wie die Transistor-Basen für die gemultiplexten Nixie-Röhren. Während dem Multiplexen wird also an den gerade nicht als Ausgängen aktiven Ports die Matrixtastatur abgefragt. Frank
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.