2016-04-13 15 views
0

Nach Wikipedia:Kann ich ein gültiges Signal von einem Ausgangspin von GPIO lesen?

GPIO-Funktionen können gehören:

  • GPIO-Pins können konfiguriert Eingang oder Ausgang

  • GPIO-Pins/disabled

  • aktiviert werden kann, um sein werden,

    Eingabewerte sind lesbar (typisch hoch = 1, niedrig = 0)

  • Ausgangswerte sind Schreib-/Lese

Zu meinem Verständnis, wenn ein Stift für die Eingabe festgelegt ist, dann kann es nicht geschrieben werden. Mit anderen Worten, es ist nicht zulässig, einen Wert in einen Eingangspin zu schreiben. Ich bin mir jedoch nicht sicher, ob ein Ausgangspin lesbar ist.

Zum Beispiel gibt einen Pin mit der Nummer 8, nachdem ich die Funktion write_pin_value(pin_8, 1); aufrufen, gibt der Funktionsaufruf read_pin_value(pin_8) immer den Wert 1 zurück?

Antwort

2

Sie sollten sich das Datenblatt eines Zielchips ansehen, den Sie verwenden, da verschiedene ICs unterschiedliche Eingangs-/Ausgangspuffer haben können. In der Regel enthalten Dokumente eine vollständige Beschreibung der IO-Ports.

Im Allgemeinen kann sprechen Firmware lesen und schreiben Pin in jedem Zustand, spielt keine Rolle, ob es in Eingabe-oder Ausgabemodus ist. Aber das Schreiben eines Werts auf einen Eingangspin hat keinen Einfluss auf seinen physischen Zustand. Gleiches, wenn gelesener Ausgangspin erhalten Sie möglicherweise unterminierte Ergebnisse.

Sie können den Wert 0x23 nicht auf einen Pin schreiben, da das Pin-Register 1 Bit lang ist, bis Sie mit einem Digital-zu-Analog-Peripheriegerät arbeiten.

1

Es hängt von der MCU ab. Einige von ihnen haben eine Ausgangsverriegelung, die Ihnen eine Rückmeldung über den tatsächlichen Ausgabestatus gibt. Sie können es lesen, um sicher zu sein, dass Ihre Ausgabe auf den richtigen Status eingestellt ist.

Dies ist auch in einigen MCU nützlich, wo Sie Ausgangswert (normal hoch, normal niedrig) invertieren können und Sie können überprüfen, dass der reale Ausgangszustand ist, was erwartet wird.

+0

Hallo, LPs, ich bin ein Neuling in der Elektronik. Hier ist die GPIO-Schaltungsspezifikation des Rsapberry Pi. [http://www.mosaic-industries.com/embedded-systems/microcontroller-projects/raspberry-pi/gpio-pin-electric-specifications] Könnten Sie feststellen, ob der GPIO von Raspberry Pi nach dem Schreiben von einem Ausgangs-Pin lesen kann? es? Danke im Voraus. – xmllmx

+0

@xmllmx Sie können immer einen GPIO-Port lesen. Stifte, die als Ausgang konfiguriert sind, werden mit dem Wert gelesen, den Sie beim letzten Mal festgelegt haben, oder dem Standardwert. In Ihrem speziellen Fall haben Sie nicht die Funktion, den tatsächlichen Status der Ausgabe zurückzulesen, sondern die logische. – LPs

+0

Vielen Dank für Ihre Antwort. Ich bin jetzt klar. – xmllmx