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)







Licenza Creative Commons
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/wiringPi

Quindi:
 
 pi@raspberrypi ~ $ cd wiringPi
 
 pi@raspberrypi ~/wiringPi $ git pull origin

Infine, 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 | Web Statistics

Clicky

| Realizzazione a cura di Francesco Parisi (2002 ÷ 2024) | Contatti