Arduino – Tipi di dati
I tipi di dati in C si riferiscono a un ampio sistema utilizzato per dichiarare variabili o funzioni di tipi diversi. Il tipo di una variabile determina quanto spazio occupa nella memoria e come viene interpretato il modello di bit memorizzato.
La seguente tabella fornisce tutti i tipi di dati che verranno utilizzati durante la programmazione di Arduino.
Le più comuni tipologie sono:
- void è la parola chiave, viene utilizzata solo nelle dichiarazioni di funzione. Indica che la funzione non restituirà alcuna informazione alla funzione da cui è stata chiamata.
void loop ( ) { // rest of the code}
- byte occupa un byte di memoria e puo’ contenere un numero tra 0 e 255 non segnato.
byte m = 25 ;//declaration of variable with type // byte and initialize it with 25
- int è il tipo di dati principale per l’archiviazione dei numeri, memorizza un valore a 16 bit (2 byte). Ciò produce un intervallo da -32.768 a 32.767 (valore minimo di -2 ^ 15 e un valore massimo di (2 ^ 15) – 1). La dimensione int varia da una scheda all’altra. Ad Arduino Due, ad esempio, un int memorizza un valore a 32 bit (4 byte). Ciò produce un intervallo di -2.147.483.648 a 2.147.483.647 (valore minimo di -2 ^ 31 e un valore massimo di (2 ^ 31) – 1).
int counter = 32 ;// declaration of variable with type // int and initialize it with 32
- unsigned int (interi senza segno) sono gli stessi di int nel modo in cui memorizzano un valore di 2 byte. Invece di memorizzare numeri negativi, tuttavia, memorizzano solo valori positivi, ottenendo un intervallo utile compreso tra 0 e 65.535 (2 ^ 16) – 1). Arduino Due memorizza un valore a 4 byte (32 bit), compreso tra 0 e 4.294.967.295 (2 ^ 32 – 1).
Unsigned int counter = 60 ; // declaration of variable with type // unsigned int and initialize it with 60
- long sono variabili di dimensione estese per la memorizzazione numerica e memorizzano 32 bit (4 byte), da 2.147.483.648 a 2.147.483.647.
Long velocity = 102346 ;// declaration of variable with // type Long and initialize it with 102346
- unsigned long sono variabili di dimensione estese per la memorizzazione numerica e memorizzano 32 bit (4 byte). A differenza dei long standard, gli unsigned long non memorizzano numeri negativi, il loro intervallo va da 0 a 4.294.967.295 (2 ^ 32 – 1).
Unsigned Long velocity = 101006 ;// declaration of variable // with type Unsigned Long and // initialize it with 101006
- short è un tipo di dati a 16 bit. Su tutti gli Arduino (basati su ATMega e ARM), short memorizza un valore a 16 bit (2 byte). Ciò produce un intervallo da -32.768 a 32.767 (valore minimo di -2 ^ 15 e un valore massimo di (2 ^ 15) – 1).
short val = 13 ;// declaration of variable with type short and // initialize it with 13
- float è un numero con un punto decimale. Sono spesso usati per approssimare i valori analogici e continui perché hanno una risoluzione maggiore degli interi. I float possono essere grandi come 3.4028235E + 38 e fino a 3.4028235E + 38. Sono memorizzati come 32 bit (4 byte) di informazioni.
float num = 1.352;// declaration of variable with type // float and initialize it with 1.352
- double in Arduino Uno e in altre schede basate su ATMEGA, double occupa quattro byte. Cioè double è esattamente la stessa del float, senza alcun guadagno di precisione. Su Arduino Due, i double hanno una precisione di 8 byte (64 bit).
double num = 45.352 ;// declaration of variable with type // double and initialize it with 45.352
- boolean rappresenta le variabili logiche, TRUE oppure FALSE. Ogni variabile booleana occupa un byte di memoria.
boolean val = false ; // declaration of variable with type // boolean and initialize it with false boolean state = true ; // declaration of variable with type //boolean and initialize it with true
- char occupa un byte di memoria. Se la si usa come un numero può contenere un valore che va da -128 a +127 se invece la si usa come testo può contenere un qualunque carattere ASCII. I caratteri letterali sono scritti in virgolette singole come questa: ‘A’ e per più caratteri, le stringhe usano virgolette doppie: “ABC”.
Char chr_a = ‘a’ ;// declaration of variable with type // char and initialize it with character a Char chr_c = 97 ; //declaration of variable with type //char and initialize it with character 97
- unsigned char è un tipo di dati unsigned che occupa un byte di memoria. Il tipo di dati char senza segno codifica sono i numeri da 0 a 255.
Unsigned Char chr_y = 121 ; // declaration of variable with // type Unsigned char and initialize // it with character y
- word in Arduino Uno e in altre schede basate su ATMEGA, una parola memorizza un numero senza segno a 16 bit. Su Arduino Due e Zero, memorizza un numero senza segno a 32 bit.
word w = 1000 ;// declaration of variable with type // word and initialize it with 1000