Risorse per il Lab. Elettronica |
|
Home Page
CAD/CAE • LTspice • PSpice Sistemi • Arduino • AVR • Raspberry Pi • National Instruments Risorse • Datasheet • Link • Hardware e Software • Misc |
Programmare il GPIO di Raspberry Pi in C (beta) Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Condividi allo stesso modo 3.0 Italia. E' dunque escluso l'utilizzo per scopi di lucro . Autore: Francesco Parisi, fparisi AT gmail DOT com Ultima modifica: 09/08/2021 Compilare, eseguire e terminare un programma • L'installazione della libreria wiringPi Il compilatore gcc è già preinstallato su Raspberry Pi.
Occorrerà solo installare la libreria WiringPi. Dal Raspberry (connesso a Internet) lanciare in successione i seguenti comandi:
pi@raspberrypi ~ $ sudo apt-get install git-core pi@raspberrypi ~ $ sudo apt-get update pi@raspberrypi ~ $ sudo apt-get upgrade pi@raspberrypi ~ $ git clone git://git.drogon.net/wiringPiQuindi: pi@raspberrypi ~ $ cd wiringPi pi@raspberrypi ~/wiringPi $ git pull originInfine, senza spostarsi dalla directory wiringPi :
pi@raspberrypi ~/wiringPi $ ./build • Compilazione e collegamento Compilazione e linking possono essere fatti contestualmente specificando con -l la libreria wiringPi (prestare attenzione alle maiuscole/minuscole).
Supponendo che il nostro programma si chiami blink.c e si trovi nella home directory:
pi@raspberrypi ~ $ gcc -o blink blink.c -lwiringPi Nel caso occorra compilare anche una libreria e collegarla al programma principale, bisognerà specificarla dopo il nome del sorgente principale. Per esempio, supponendo che il file di implementazione della libreria si chiami debounce.c , si avrà:
pi@raspberrypi ~ $ gcc -o blink blink.c debounce.c -lwiringPi • Esecuzione e terminazione del programma L'accesso alla funzione wiringPiSetup() richiede privilegi di root. Quindi qualsiasi programma che sia stato scritto usando wiringPiSetup() deve essere lanciato mediante sudo :
pi@raspberrypi ~ $ sudo ./blink E' sempre possibile eseguire il programma in background, ignorando però i messaggi di errore e sulla console (come eventuali printf() presenti nel programma.
pi@raspberrypi ~ $ sudo ./blink > /dev/null & L'esecuzione del programma può essere terminata resettando il sistema oppure da tastiera (mediante il classico Ctrl-C ) o ancora, se il relativo processo è in background, con sudo killall -9 , che, nel caso dell'esempio in questione, diventa:
pi@raspberrypi ~ $ sudo killall -9 blink |
|
Informativa estesa sui Cookie
|
|
Realizzazione a cura di Francesco Parisi (2002 ÷ 2024) | Contatti