X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=programming%2Fstructured_data_types%2Fstruct_risposta_pointers%2Flamp.h;fp=programming%2Fstructured_data_types%2Fstruct_risposta_pointers%2Flamp.h;h=e67125bdf9c117c302533f24a15ce3f2da55f5f2;hb=b46e75aacd9a0d7e318d5ef06730bf1e701ae9f5;hp=0000000000000000000000000000000000000000;hpb=e4de8b95aa9b8019b3fff9416918a4840aae46b5;p=sketchbook_andrea diff --git a/programming/structured_data_types/struct_risposta_pointers/lamp.h b/programming/structured_data_types/struct_risposta_pointers/lamp.h new file mode 100644 index 0000000..e67125b --- /dev/null +++ b/programming/structured_data_types/struct_risposta_pointers/lamp.h @@ -0,0 +1,23 @@ +/* Lamp Header + * + * Senza un file Header Arduino IDE non ne vuole sapere + * di riconosce un data type custom da utilizzare con una funzione. + */ + +#include // Senza non si possono usare i byte, digitaWrite... + +struct lampeggino { + byte pin ; + long pausa; + boolean stato; + char feedback[20]; // Messaggio via seriale +} ; + +void lampeggia (lampeggino *oggetto) { + // Lampeggia e manda un feedback via seriale + + digitalWrite(oggetto->pin, (*oggetto).stato); // foo->bar eqivale a (*foo).bar, l'operatore punto ha precedenza rispetto al pointer + Serial.println((*oggetto).feedback); + (*oggetto).stato = !(*oggetto).stato ; + delay((*oggetto).pausa); +}