В чем разница между BOARD и BCM для нумерации выводов GPIO?

130

При использовании библиотеки RPi.GPIO в Python вы должны вызвать

import RPi.GPIO as GPIO

а потом

GPIO.setmode(GPIO.BOARD)

или же

GPIO.setmode(GPIO.BCM)

В чем разница между этими двумя вариантами?

mirams
источник

Ответы:

151

Я получил информацию ниже отсюда .

Опция GPIO.BOARD указывает, что вы обращаетесь к контактам по номеру контакта штекера - т.е. числам, напечатанным на плате (например, P1) и в середине диаграмм ниже.

Опция GPIO.BCM означает, что вы обращаетесь к контактам по номеру «Broadcom SOC channel», это цифры после «GPIO» в зеленых прямоугольниках вокруг внешней части нижеприведенных диаграмм:

К сожалению, номера BCM менялись между версиями Pi1 Model B, и вам нужно решить, какой из них у вас есть здесь . Поэтому может быть безопаснее использовать номера BOARD, если вы собираетесь использовать более одного Raspberry Pi в проекте.

  • Модель B + использует ту же нумерацию, что и модель B r2.0, и добавляет новые контакты (номера плат 27-40).
  • Raspberry Pi Zero, Pi 2B и Pi 3B используют ту же нумерацию, что и B +.

Pi1 Модель B +, Pi 2B, Pi Zero и Pi 3B: Схема нумерации выводов GPIO


Pi 1 Модель B Редакция 2.0:

Схема нумерации выводов GPIO


Pi 1 Model B Revision 1.0: Схема нумерации выводов GPIO

mirams
источник
1
А для полноты A такой же, как у более поздних плат модели B, а A + такой же, как B +.
Питер Грин
1
Это раздражает. Просто положите два маленьких числа на каждый штифт. Серьезно @LadyAda
user2497