Яка різниця між BOARD та BCM для нумерації штифтів GPIO?


130

Під час використання бібліотеки RPi.GPIO в Python вам потрібно зателефонувати

import RPi.GPIO as GPIO

і потім

GPIO.setmode(GPIO.BOARD)

або

GPIO.setmode(GPIO.BCM)

Яка різниця між цими двома варіантами?

Відповіді:


151

Інформацію нижче я отримав звідси .

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

Параметр GPIO.BCM означає, що ви посилаєтесь на штифти за номером каналу "Broadcom SOC", це цифри після "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, модель B, версія 1.0: Графічна схема нумерування GPIO


1
А для повноти A - це те саме, що і пізніші дошки B моделі, а A + - це те саме, що і B +.
Пітер Грін

1
Це дратує. Просто покладіть по дві маленькі цифри на кожну шпильку. Серйозно @LadyAda
user2497
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.