Quale numero di GPIO usare?

From Sistemi Operativi
Jump to navigation Jump to search

Il problema principale che mi sono posto andando a guardare la gpio map del Raspberry è stato: ho due numeri, quale dei due devo utilizzare?

Esistono due diversi modi per interfacciarsi con i GPIO:

  1. Notazione BOARD
  2. Notazione BROADCOM (BCM)
Notazione BOARD
La notazione BOARD e' quella piu semplice ed e' quella che (nella maggior parte dei casi) garantisce una maggiore portabilita' tra i vari modelli di Raspberry Pi. Essa consiste nel contare il numero del GPIO proprio come se stessimo leggendo in riga.
Notazione BCM
La notazione BCM fa riferimento alla numerazione dei registri dello specifico modello di processore che stiamo utilizzando, dato che scrivere su una periferica di I/O dal punto di vista del processore e' come scrivere in un registro.
Mappa con numerazione BCM e BOARD

La notazione BCM e' quella che viene usata dal kernel quando vogliamo attivare direttamente il GPIO. ad esempio possiamo dare i comandi per attivare il gpio 18 per controllare un relay:

echo 18 > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio18/direction
echo 1 > /sys/class/gpio/gpio18/value

Il GPIO numero 18 (in notazione BCM) e' quello che ha il "pallino" numero 12 (notazione BOARD).