SoftwareSerial mit MCP23017 verknüpfen

Hallo,

ich möchte mit SoftwareSerial Kommunikation auf den Ein- und Ausgängen des externen I/O Expanders MCP23017 einrichten.

Das Einlesen und Auslesen der einzelen I/Os funktioniert direkt gut nur das Zusamenspiel mit SoftwareSerial bekomme ich nicht hin.

Ich brauche bitte einen Ansatz.

Danke KaElectro

Das wird wohl nicht gehen. Die SoftwareSerial steuert die Pins direkt über die Port Register. Der mcp wird über I2C bzw. SPI gemacht, da dürfte das Timing nicht einzuhalten sein.

EIEspanol hat es ja schon angedeutet, das wird nicht funktionieren.

Aber welchen Zweck soll das haben ?

Danke für Eure Rückmeldung.

Ich baue gerade einen Patchkabeltester. Dieses Messgerät soll auch für verlegtes Kabel, also max Abstand 90m Kabellänge, ausgelegt sein, sind ein Sende- und Empfängermodul notwendig. An beiden Stellen soll der Zustand des Kabels auch angezeigt werden können. Das reine Messen ist nicht das Problem, beim Empfängeranzeigen lassen welche Ader richtig oder falsch ist funktioniert auch , Kurzschlüsse kein Problem, aber die Informationen über zwei funktionierende Adern zurück zum Sender zu schicken damit er auch die Informationen bekommt da hackt es...

In beiden Geräten ist ein Atmega 328 verbaut und ich kann Ihn einfach über die UNO Platine programmieren ;-)

Ich bräuchte vielleicht noch einen anderen Gedankenanstoß!

Ich versteh jedoch nicht, warum du SoftwareSerial an den Ausgang des I2C-Portexpander hängen möchtest. Dazu kannst du doch digitale Pins des Atmega328 direkt verwenden.

Das Patchkabel ist nur an dem MCP23017 angeschlossen ansonsten besteht keine Verbindung zweischen den beiden Modulen.

Wenn du keine extra Adern zur Verfügung hast, solltest du es umschaltbar machen.

Beispiel: Erstes Adernpaar welches als ok angezeigt wird, auf die serielle Schnittstelle schalten. Und da mit SoftwareSerial weiter arbeiten. Und GND brauchst du auch dazu. Bedenke aber, das musst du mit der RS232 machen, nur mit der SoftwareSerial kommst du nicht über die angegebene Entfernung.

Womit soll ich denn umschalten? Wie einst du das?

Damit du umschalten kannst, sprich die Pins des 328 benutzen, musst du deine Hardware ändern.

Du kannst aber auch einfach ein eigenes Protokoll implementieren, das über den 23017 läuft.

kaelectro:
Womit soll ich denn umschalten? Wie einst du das?

Du kannst die Ein/Ausgänge über einen 4066 schalten.

Das ist ein digitaler/analoger Schalter. Damit kannst du auf die Adern die UART oder Pins des MCP schalten.
Je nach Vorgang wird über den MCP gemessen oder die seriellen Daten laufen darüber.

Alternativ wie EIEspanol schrieb, ein eigenes Protokoll programmieren und dieses über den MCP schicken.