uint8_t pippo = ABCD?

Ciao a tutti
Qualcuno mi potrebbe spiegare uint8_t currentEffect = RAIN?
uint8_t equivale a byte? Il compilatore crea automaticamente un array di 4 caratteri +""?

Grazie
Gianluca

uint8_t cube[8][8];
uint8_t currentEffect;

uint16_t timer;
uint64_t randomTimer;
bool loading;

void setup() {

  loading = true;
  randomTimer = 0;
  currentEffect = RAIN;

uint8_t, uint16_t, ecc. ecc. sono definite apposta per evitare i problemi di “lunghezza” introdotti dal fatto che int, long, ecc. NON definiscono il numero di bytes usati (che sono in funzione della piattaforma) ma solo il tipo.

Con la notazione uint8_t sai invece che stai dichiarano un tipo non segnato di 8 bit, con int16_t sai che stai definendo un tipo segnato di 16 bit e così via.

Li trovi definiti in <stdint.h> :slight_smile:

Guglielmo

Sì, d'accordo, ma mi riferivo ai 4 caratteri.

Quali RAIN ? ... ovviamente li manca un pezzo e da qualche parte è definito il valore di RAIN (che è UN BYTE o ... viene comunque convertito ad un byte).

Guglielmo

Mi sa che RAIN è una costante definita da qualche parte, non la stringa "RAIN" che altrimenti dovrebbe essere indicata tra doppi apici.

Uh! E' vero! Stavo cercando un'altra cosa nel programma; scorrendolo su e giù ho visto quella riga e mi sono convinto che avesse messo 4 caratteri un una variabile byte! :slight_smile:
Purtroppo con gli array di caratteri me la cavo veramente male.

... a giudicare così ... magari di parla di condizioni del tempo e quello è un valore in qualche enum :smiley: ... tipo:

enum weather {
  RAIN,
  SUNNY, 
  CLOUD,
  FOGGY
};

Guglielmo