Hallo!
Ist nicht eindeutig zu beantworten. Kommt auf das Gesamtkonzept an. Eine brauchbare Variante sind Makros in C. Die kannst Du zentral hinterlegen und im Quelltext nur mit den Makronamen arbeiten. Dann kannst Du das jederzeit nachträglich ändern. Wenn sich nicht nur Pins, sondern auch Schnittstellen ändern, musst Du die umleiten, auf die jeweils richtigen Funktionen. Dann hast Du u.U. für jede definierte Schnittstelle in der zentralen Datei einen Wert, der die Schnittstelle angibt, so dass Du dann nach diesem Wert die Umleitung vornehmen kannst. Noch flexibler geht das über Variablen. Die kann man dann auch zur Laufzeit noch ändern, dann ergibt sich schnell die Möglichkeit eines Setup, wie bei einem Mainboard eines x86 z.B., die Werte kann man dann im Flash speichern oder woanders, wo sie nicht verloren gehen; dann bei Systemstart auslesen und die Werte evtl. übertragen.
MfG
Bewehrte Systemlösungen sehen immer so aus, dass man allgemeingültige Funktionen definiert. Z.B. "Read" oder "Write". Dann wird festgelegt, was man dort übertragen kann: Strings (Zeichenketten), Zahlen (Werte), Bytes. Mit Schnittstellenkennung kannst Du dann innerhalb der Funktion die Umleitung auf den jeweils richtigen Code vornehmen, der die Daten über die angegebene Schnittstelle verschickt oder von dort liest. In C(++) selber kann man mehrere Konstruktoren (objektorientiert) erstellen, für jeden speziellen Fall einen, der Compiler sucht sich dann - je nach Übergabeparameter - den Passenden aus, so dass der richtige Code dann am Ende ausgeführt wird. Welches Konzept magst Du lieber? - Das ist die Frage.
Lesezeichen