Dynamische PIN Zuordnung

Gast #3902428
Lesenswert?

Hallo,

wie nennt man das Verfahren, wenn man die PIN Zuordnung an einer 
Steckerbuchse variabel machen möchte.

Gedankengänge sind folgende:
An einer 10 poligen Wannenbuchse möchte ich gerne - je nach Anwendung - 
eine andere Pin Zuordnung haben. Die PIN Zuordnung würde ich 
softwareseitig (z.B per I2C) ansteuern wollen.

Beispiel:
Stecker Pin1 -> Anwendung A PB2 ; Anwendung B PB3
Stecker Pin2 -> Anwendung A PB3 ; Anwendung B PB4
Stecker Pin3 -> Anwendung A PB4 ; Anwendung B PB5
Stecker Pin4 -> Anwendung A PB5 ; Anwendung B PB6

Je nach Anwendung wird auch ein anderes Gerät per Flachbandkabel an die 
gleiche Wannenbuchse angeschloßen.

Gibt es hierfür fertige Bausteine?
Ich vermute, das dies ein Multiplexing ist, bin mir aber nicht sicher.
Gast #3902460
Lesenswert?

Sollen PIN und Pin das gleiche bedeuten, also den Anschluss
der 10 poligen Wannenbuchse?
Und soll PBx den Port-Anschluss eines µC entsprechen?

Auch wenn das stimmt, musst du an einem Pin/PIN immer Masse
haben. Sonst geht garnix.

Der Aufwand, diese Anpassung machen zu können, steht bestimmt
in keinem vernünftigen Verhältnis dazu,
- entweder die externen Geräte mit einem passenden Stecker zu
  versehen,
- oder bei Anwendung B die richtige Zuordnung per Software im
  µC zu machen.

Ansonsten:
Versuche mal, dich verständlicher auszudrücken!
Gast #3902754
Lesenswert?

Es ist doch totaler Unsinn zu behaupten, daß niemand sowas benötigt.

Das man sowas Software seitig löst ist eine valide Aussage.

Sowas muss doch aber auch Hardware mäßig gehen.
Eventuell sogar vielleicht mit einem kleinen Alter, das sind ja diese 
programmierbare Logik Chips.
#3902937
Lesenswert?

Hans A. schrieb:
> Je nach Anwendung wird auch ein anderes Gerät per Flachbandkabel an die
> gleiche Wannenbuchse angeschloßen.
>
> Gibt es hierfür fertige Bausteine?
> Ich vermute, das dies ein Multiplexing ist, bin mir aber nicht sicher.

Ich vermute, Du meinst als Bausteine "Arrays".

Du packst Deine Anschlusspins in ein Array und greifst je nach Anwendung 
drauf zu:
1
byte AnwendungA_Pins[]={PB2, PB3, PB4, PB5};
2
byte AnwendungB_Pins[]={PB3, PB4, PB5, PB6};
3
byte* Anwendungspin=AnwendungA_Pins;
4
// oder Anwendungspin=AnwendungB_Pins;

Zugreifen auf die Pins dann mit Anwendungspin[0], Anwendungspin[1], 
Anwendungspin[2], Anwendungspin[3].

Solange alle Pins im selben Portregister liegen, überhaupt kein Problem.
Und fast wie bei Arduino, nur in diesem Fall eingeschränkt auf maximal 8 
Pins.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren