Was ist eine alternative Pin-Funktion auf einem Mikrocontroller?

Ich würde gerne wissen, worauf sich "Alternative Funktion" im Zusammenhang mit den E / A-Ports eines Mikrocontrollers bezieht.

Ich muss nicht wissen, wie man es aktiviert, wenn man es mit einem Peripheriegerät verbindet, aber ich würde gerne wissen, was es genau ist und warum wir es brauchen würden.

Antworten (2)

Viele Pins Ihres Mikrocontrollers haben unterschiedliche Funktionen. Die „normale“ Funktion würde sich auf GPIO, General Purpose Input/Output beziehen . In diesem Fall können Sie diese Pins direkt verwenden, indem Sie in die entsprechenden Register schreiben und daraus lesen.

"Alternative" Funktionen würden sich auf andere Funktionen beziehen, die I 2 C, SPI, USART, CCP, PWM, Uhr, ADC usw. umfassen können ... Wie Sie die Pins in einer alternativen Funktion steuern, hängt vom Peripheriegerät ab, aber es läuft im Allgemeinen auf das Schreiben und Lesen von Spezialfunktionsregistern (SFR) hinaus; die Peripherie erledigt den Rest.

Welche Funktion nach einem RESET Standard ist, hängt davon ab (es ist nicht immer GPIO!), und das können Sie dem jeweiligen Datenblatt entnehmen. Meistens können Sie die Funktion, die Sie verwenden möchten, spontan auswählen, sodass Sie zwischen den Peripheriegeräten wechseln können.

Durch die Verwendung eines Pins für mehrere Peripheriegeräte können Sie Mikrocontroller mit sehr vielen Funktionen herstellen. Da Sie dieses Peripheriegerät jedoch meistens ständig an diesem Pin haben möchten (und die Funktionen nicht im laufenden Betrieb wechseln möchten), können Sie nicht alle Peripheriegeräte in einem Programm verwenden, oder zumindest nicht gleichzeitig Zeit. Andererseits wird das sowieso nicht wirklich oft benötigt.


Wie Connor betont, kann sich „alternative Funktion“ auch auf etwas anderes beziehen, in einem etwas anderen Kontext: Hier geht es nicht darum, welche Funktion Sie auf einen Stift legen, sondern welchen Stift Sie für eine Funktion verwenden. Dies wird Peripheral Pin Select genannt und bedeutet im Grunde, dass Sie auswählen können, welchen Pin Ihr Peripheriegerät verwendet. Sie könnten beispielsweise RS232 über RA1 und RA2 oder über RB1 und RB2 ausführen.

Eine detailliertere Beschreibung finden Sie in Connors Antwort (und stimmen Sie ihm dafür zu).

Neben der Antwort von @CamilStaps gibt es einen weiteren Kontext, in dem „alternative Pin-Funktion“ ein häufig verwendeter Begriff ist.

Einige Mikrocontroller haben die Möglichkeit, ihre internen Peripheriegeräte zwischen mehreren Sätzen von IO-Leitungen umzuschalten. Auf diese Weise können Sie Probleme vermeiden, wenn Sie interne Module (SPI, I2C usw.) verwenden möchten, deren Funktionen demselben Satz von Pins zugeordnet sind.

Im Allgemeinen gibt es ein Steuerregister, das festlegt, auf welche Gruppe von Pins die verschiedenen Peripheriegeräte abgebildet werden.


Ich weiß, dass ich mit einem Mikrocontroller gearbeitet habe, der diese Möglichkeit hatte, aber ich werde verdammt sein, wenn ich mich an die spezifische Teilenummer erinnern kann.

Bearbeiten: Gefunden - Es ist auf vielen PIC24- und dsPIC-Teilen verfügbar:Geben Sie hier die Bildbeschreibung ein

Sie nennen es "Peripheral Pin Select", aber es ist im Grunde ein Mechanismus zum Konfigurieren der alternativen Pin-Funktionen.