Difference between revisions of "Quale numero di GPIO usare?"

From Sistemi Operativi
Jump to navigation Jump to search
(Created page with "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 in...")
 
Line 11: Line 11:
  
 
[[File:Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900-1024x341.png|200px|thumb|center|Mappa con numerazione BCM e BOARD]]
 
[[File:Raspberry-Pi-GPIO-Layout-Model-B-Plus-rotated-2700x900-1024x341.png|200px|thumb|center|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:
 +
 +
<syntaxhighlight lang="bash">
 +
 +
echo 18 > /sys/class/gpio/export
 +
echo "out" > /sys/class/gpio/gpio18/direction
 +
echo 1 > /sys/class/gpio/value
 +
 +
</syntaxhighlight>
 +
 +
Il GPIO numero 18 (in notazione BCM) e' quello che ha il "pallino" numero 12 (notazione BOARD).

Revision as of 10:50, 5 November 2015

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/value

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