X-Git-Url: http://git.piffa.net/web?a=blobdiff_plain;f=advanced_projects%2FblinkAVR%2FblinkLED.c;fp=advanced_projects%2FblinkAVR%2FblinkLED.c;h=575128628cfd2cab2637ed3eee852dc0fe574b64;hb=d26c82bec0b244fbff06a6b9a6004a67d48d47a4;hp=0000000000000000000000000000000000000000;hpb=a94e5e6347ed7bdf43aa20bf400255325a033278;p=sketchbook_andrea diff --git a/advanced_projects/blinkAVR/blinkLED.c b/advanced_projects/blinkAVR/blinkLED.c new file mode 100644 index 0000000..5751286 --- /dev/null +++ b/advanced_projects/blinkAVR/blinkLED.c @@ -0,0 +1,40 @@ +/* Blinker Demo */ + +// Includes +#include // Mappatura dei PIN +#include // Funzione equivalente a delay() + + +int main(void) { + +/* Blink AVR + * + * Blink senza utilizzare il framework di Arduino. + * + * Il pin 13 di Arduino corrisponde a PB5, il 6' PIN sulla porta PORTB + * Invece il primo PIN sulla porta PORTB corrisponde a D8 di Arduino + */ + + // Setup + DDRB |= 0b00100000; /* Data Direction Register B: + - il pin e' il 6' della porta: + 00100000 , 0b indica un numero binario + - Utilizziamo una maschera binaria + con l'operatore logico OR per cambiare + solo il 6' BIT a 1 */ + + + // Ciclo infinito + while (1) { + + PORTB = 0b00100000; // Accendiamo il LED impostando tutti i PIN + _delay_ms(1000); // della porta + + PORTB = 0b00000000; // Spegnamo il LED + _delay_ms(1000); + + } // Fine del ciclo while (loop di arduino) + return (0); // Un programma in C deve sempre avere una valore di ritorno + // Per quanto questo non venga mai raggiunto dal uC +} +