Corso C su Raspberry PI partendo da zero: il nostro primo programma

Nella prima puntata del corso abbiamo fatto conoscenza con il Raspberry Pi, un computer a tutti gli effetti, dotato anche di porte di I/O. In questo articolo inizieremo a parlare del linguaggio C, a conoscere il compilatore GCC e a produrre i nostri primi programmi. Il tutto con uno spirito didattico, semplice e chiaro per tutti. Gli esempi rispetteranno un ordine di difficoltà sempre crescente, in modo da risultare del tutto indolore ai lettori.

Introduzione

Qualsiasi firmware o software, a prescindere dalla sua tipologia, richiede per la sua creazione una buona conoscenza di un linguaggio di programmazione. In questo articolo inizieremo a prendere confidenza con il compilatore presente nella distribuzione Raspian Jessie, il GCC, e a creare i nostri primi utili programmi. Non utilizzeremo ancora la porta GPIO e il software creato svolgerà solo mansioni di calcolo ed esecuzione, senza connessione alcuna alle porte di I/O.

Come si crea un programma

Il PC, incluso il nostro Raspberry Pi, "parla" esclusivamente una lingua composta da tanti "0" e "1", ossia il linguaggio binario. A meno che si intenda produrre il software direttamente in linguaggio macchina (esempio di programma: 110011101110100010101...), che risulterebbe tremendamente astruso, complicato e incomprensibile, occorre utilizzare altri mezzi. Quello sicuramente più utilizzato e più diffuso è il seguente:

  1. Si scrive il programma, come sequenza di istruzioni, diciamo il lingua inglese, sotto forma di listato sorgente;
  2. Si dà tale listato in pasto ad un compilatore che, dopo il controllo di validità, produce il programma eseguibile.

Vista così, in effetti, la procedura sembra abbastanza facile ma, come si vedrà in seguito, la creazione di un software costituisce una vera e propria arte.

Il listato sorgente

Il sorgente è generalmente un file di testo, visualizzabile e comprensibile, composto da parole chiave. Raccoglie tutte le istruzioni logiche per raggiungere lo scopo finale. E' una raccolta di piani e di strategie per trovare risultati o perseguire obiettivi. Di seguito proponiamo una sorta di software, rappresentato tramite uno pseudo-codice, il cui tema è il semaforo e l'automobile. I passi che deve rispettare l'automobilista sono i seguenti:

  1. All'incrocio osserva il semaforo.
  2. Se è spento, prosegui con molta prudenza.
  3. Se è rosso:
    1. Fermati e aspetta.
  4. Se è verde:
    1. Prosegui con prudenza.
    2. Se ci sono pedoni sulla strada:
      1. Fermati e falli passare.
  5. Se è giallo:
    1. Rallenta e ti fermi all'incrocio.
  6. Ritorna al punto 1 iniziale.

Tale metodo di risoluzione del problema è definito algoritmo. Il software deve essere scritto, ovviamente, con un opportuno linguaggio di programmazione. Il mondo informatico offre, letteralmente, migliaia e migliaia di soluzioni e alternative, semplici o complicati. Alcuni di essi sono dedicati alla matematica, altri all'intelligenza artificiale, e così via. In assoluto i linguaggi più utilizzati e conosciuti sono:

  • Il linguaggio C;
  • Il linguaggio Basic;
  • Il linguaggio Pascal.

Man mano si vanno ad aggiungere alcuni linguaggi potenti, alternativi e semplici al tempo stesso. Per chi volesse conoscere l'elenco dei linguaggi, in questo link è presente una lista, nemmeno completa, dei più famosi.

Il linguaggio C

E' un linguaggio di programmazione estremamente potente e veloce. Lo supera, in velocità, solo il linguaggio macchina. Il suo utilizzo è molto semplice e un programma, a volte, sembra una sorta di discorso umano (alto livello). La sua struttura permette, però, di accedere direttamente alle componenti interne del PC, consentendo al programmatore di scrutarne e modificarne i comportamenti più intimi e nascosti (basso livello).

E' talmente potente che con esso vengono realizzati anche i Sistemi Operativi. La sua caratteristica più importante è la portabilità. Un codice sorgente scritto, ad esempio in Windows, può "girare" senza problemi anche su Linux. A questo risultato si è arrivati dopo anni di dispute [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3047 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici e potrai fare il download in formato PDF eBook e Mobi per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

25 Commenti

  1. Carlo Alberto Birocco Carlo Alberto Birocco 2 Febbraio 2016
  2. almadelvento 2 Febbraio 2016
  3. erikartaz 2 Febbraio 2016
  4. testato 2 Febbraio 2016
    • Maurizio Di Paolo Emilio Maurizio 2 Febbraio 2016
  5. testato 2 Febbraio 2016
    • Maurizio Di Paolo Emilio Maurizio 2 Febbraio 2016
    • Maurizio Di Paolo Emilio Maurizio 2 Febbraio 2016
  6. Giovanni Di Maria Giovanni Di Maria 2 Febbraio 2016
    • Maurizio Di Paolo Emilio Maurizio 2 Febbraio 2016
    • erikartaz 3 Febbraio 2016
  7. Omega739 2 Febbraio 2016
  8. federico la morgia 17 Febbraio 2016
  9. epifas1 19 Febbraio 2016
    • Emanuele Bonanni Emanuele 19 Febbraio 2016
  10. cyborgmax2015 cyborgmax2015 11 Aprile 2016
  11. nicostan 7 Ottobre 2016
    • Maurizio Di Paolo Emilio Maurizio 7 Ottobre 2016
  12. Francky63 3 Dicembre 2016

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend