Was ist der Unterschied zwischen BOARD und BCM für die GPIO-Pin-Nummerierung?

130

Wenn Sie die RPi.GPIO-Bibliothek in Python verwenden , müssen Sie aufrufen

import RPi.GPIO as GPIO

und dann

GPIO.setmode(GPIO.BOARD)

oder

GPIO.setmode(GPIO.BCM)

Was ist der Unterschied zwischen diesen beiden Optionen?

Mirams
quelle

Antworten:

151

Ich habe die folgenden Informationen von hier .

Die Option GPIO.BOARD gibt an, dass Sie sich auf die Pins beziehen, indem Sie die Nummer des Pins und des Steckers angeben - dh die Nummern, die auf der Platine (z. B. P1) und in der Mitte der folgenden Abbildungen angegeben sind.

Die Option GPIO.BCM bedeutet, dass Sie mit der Nummer "Broadcom SOC-Kanal" auf die Pins verweisen. Dies sind die Nummern nach "GPIO" in den grünen Rechtecken um die Außenseite der folgenden Diagramme:

Leider haben sich die BCM- Nummern zwischen den Versionen des Pi1 Model B geändert, und Sie müssen herausfinden, welche Sie hier haben . Daher ist es möglicherweise sicherer, die BOARD-Nummern zu verwenden, wenn Sie mehr als einen Raspberry Pi in einem Projekt verwenden.

  • Das Modell B + verwendet dieselbe Nummerierung wie das Modell B r2.0 und fügt neue Pins hinzu (Platinennummern 27-40).
  • Der Raspberry Pi Zero, Pi 2B und Pi 3B verwenden dieselbe Nummerierung wie der B +.

Pi1 Modell B +, Pi 2B, Pi Zero und Pi 3B: GPIO-Pin-Nummerierungsdiagramm


Pi 1 Model B Revision 2.0:

GPIO-Pin-Nummerierungsdiagramm


Pi 1 Model B Revision 1.0: GPIO-Pin-Nummerierungsdiagramm

Mirams
quelle
1
Und der Vollständigkeit halber ist das A dasselbe wie das spätere Modell B und das A + ist dasselbe wie das B +.
Peter Green
1
Es ist nervig. Stellen Sie einfach zwei kleine Zahlen neben jeden Stift. Ernsthaft @LadyAda
user2497