]> git.piffa.net Git - sketchbook_andrea/blob - advanced_projects/blinkAVR/blinkLED.c
Lunedi': blinks
[sketchbook_andrea] / advanced_projects / blinkAVR / blinkLED.c
1 /* Blinker Demo */
2
3 // Includes
4 #include <avr/io.h>     // Mappatura dei PIN
5 #include <util/delay.h> // Funzione equivalente a delay()
6
7
8 int main(void) {
9
10 /* Blink AVR
11  *
12  * Blink senza utilizzare il framework di Arduino.
13  *
14  * Il pin 13 di Arduino corrisponde a PB5, il 6' PIN sulla porta PORTB
15  * Invece il primo PIN sulla porta PORTB corrisponde a D8 di Arduino
16  */
17
18  // Setup
19     DDRB |= 0b00100000;            /* Data Direction Register B:
20                                    - il pin e' il 6' della porta:
21                                    00100000 , 0b indica un numero binario
22                                    - Utilizziamo una maschera binaria
23                                    con l'operatore logico OR per cambiare
24                                    solo il 6' BIT a 1 */
25
26
27     // Ciclo infinito
28     while (1) {
29
30         PORTB = 0b00100000;     // Accendiamo il LED impostando tutti i PIN
31         _delay_ms(1000);       // della porta                         
32
33         PORTB = 0b00000000;     // Spegnamo il LED
34         _delay_ms(1000);                             
35
36     }                                // Fine del ciclo while (loop di arduino)
37     return (0);  // Un programma in C deve sempre avere una valore di ritorno
38                  // Per quanto questo non venga mai raggiunto dal uC 
39 }
40