Variabili e tipi di dati.

// ========= VARIABILI ==========
// Leggi di più qui.

boolean flag1 ;             // dichiara.
boolean flag1, flag2;   // dichiara multiplo.
boolean flag1 = true;  // dichiara e inizializza.

// === TIPI DI DATI ===
boolean o bool                           // 1 byte, boolean. true/false o 1/0
int8_t                                           // 1 byte, intero, -128... 127
char                                              // 1 byte, carattere, -128... 127 o 'a'
uint8_t, byte                               // 1 byte, intero, 0...255
int16_t, int, short                      // 2 byte, intero, -32 768... 32 767
uint16_t, unsigned int, word  // 2 byte, intero, 0... 65 535
int32_t, long                              // 4 byte, intero, -2 147 483 648... 2 147 483 647
uint32_t, unsigned long          // 4 byte, intero, 0... 4294967295
float, double                              // 4 byte, frazionario, -3.4028235E+38... 3.4028235E+38
// nota: su altre piattaforme double ha una dimensione di 8 bit e ha una maggiore precisione.

'a'        // carattere.
"abc"  // stringa o array di caratteri.

// === ARRAY ===
int myInts[6];                               // specifica il numero di celle.
int myPins[] = {2, 4, 8, 3, 6};      // specifica il contenuto delle celle.
float Sens[3] = {0,2, 0,4, -8,5};  // specifica entrambi, il numero di celle deve corrispondere.
char message[6] = "hello";        // memorizza i simboli.

// === SPECIFICATORI===
const       // costante, tale variabile non può essere modificata. valore int const = 10;
static      // variabile statica.
volatile  // non ottimizza la variabile. Utilizzare per lavorare in interrupt.
extern   // dice al compilatore che questa variabile è dichiarata in un altro file di programma.

// ====== AREA DI VISIBILITÀ ======
// === GLOBALE ===
/*
La variabile globale è dichiarata al di fuori delle funzioni ed è disponibile.
per leggere e scrivere in qualsiasi punto del programma, in qualsiasi sua funzione.
*/
byte var;
void setup() 
  // modificare il valore di una variabile globale.
  var = 50;
}
void loop() 
  // modificare il valore di una variabile globale.
  var = 70;
}

// === LOCALE ===
/*
La variabile locale risiede all'interno di una funzione o all'interno di qualsiasi blocco di codice.
Racchiuso tra { parentesi graffe } è in lettura/scrittura solo al suo interno.
*/
 void setup() 
  byte var; // variabile locale per setup.
  // cambia variabile locale.
  var = 50;
}
void loop() 
   // risulterà in un errore perché var non è dichiarato in questo blocco di codice.
   var = 70; 
   // creiamo un blocco di codice separato.
  {
    byte var2 = 10; 
     // var2 esiste solo all'interno di questo blocco.
  } 
  // qui var2 sarà rimosso dalla memoria.
}

 // === LOCALE STATICO ===
/*
La variabile locale statica non viene rimossa dalla memoria,
dopo essere usciti dalla funzione.
*/
void setup() 
  myFunc();  // ritornerà 20 
  myFunc();  // ritornerà 30 
  myFunc();  // ritornerà 40 
  myFunc();  // ritornerà 50
}
void loop() 
{
}
byte myFunc() 
  static byte var = 10; 
  var += 10; 
  return var;

Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia