Topic permanente di programmazione newbie

leo72:
Non mi prende a parolacce:

void loop() {

char stringa='a';
switch(stringa) {
    case 'a':
        break;
    }
}




byte è un tipo di dati di arduino che altro non è se non un unsigned char. Ma se devi fare confronti con le lettere mi pare più corretto usare il tipo di dati appropriato, cioè char, dato che byte è stato "inventato" proprio per trattare numeri.

come a parolacce? ma ti sto chiedendo aiuto! Comunque, il chiarimento di Astro mi sta bene, per ora devo andare avanti, alle finezze penseremo in un secondo momento :wink:
Altro problema, solo di carattere estetico: il gruppo:

Serial.print("SIGNATURE: ");
#if (read_signature1 < 10) //serve per mostrare lo 0 iniziale per valori <16 = 10
Serial.print("0");
#endif
Serial.print(read_signature1, HEX);

nelle mie misere intenzioni doveva aggiungere uno 0 quando ho un esadecimale <16, per evitare di vedere F o A invece di 0F o 0A, invece lo zero esce inesorabilmente sempre, l'errore è nel fatto che read_signature1 contiene un valore HEX ed io lo confronto con una banale 10, avevo provato $10 ma anche qui fiumi di imprecazioni dell'IDE :blush: