Commit 65705671470818dfaee3cdee7d4265452e118a0b
1 parent
d16bd857
Début prog
Showing
1 changed file
with
63 additions
and
5 deletions
Show diff stats
@@ -49,7 +49,7 @@ return ADCH; | @@ -49,7 +49,7 @@ return ADCH; | ||
49 | 49 | ||
50 | // For the I/O | 50 | // For the I/O |
51 | void output_init(void){ | 51 | void output_init(void){ |
52 | -DDRB |= 0x01; // PIN 8 as output | 52 | +DDRB |= 0b00011111; // PIN 8-13 as output |
53 | } | 53 | } |
54 | 54 | ||
55 | void output_set(unsigned char value){ | 55 | void output_set(unsigned char value){ |
@@ -57,22 +57,80 @@ if(value==0) PORTB &= 0xfe; else PORTB |= 0x01; | @@ -57,22 +57,80 @@ if(value==0) PORTB &= 0xfe; else PORTB |= 0x01; | ||
57 | } | 57 | } |
58 | 58 | ||
59 | void input_init(void){ | 59 | void input_init(void){ |
60 | -DDRD &= 0xfb; // PIN 2 as input | ||
61 | -PORTD |= 0x04; // Pull-up activated on PIN 2 | 60 | +DDRD |= 0x7c; // PIN 2-6 as input (Bouton Joystick + boutons) |
61 | +DDRC |= 0x03; // PIN 0-1 analogiques comme input (x et y joystick analogique) | ||
62 | } | 62 | } |
63 | 63 | ||
64 | unsigned char input_get(void){ | 64 | unsigned char input_get(void){ |
65 | return ((PIND&0x04)!=0)?1:0; | 65 | return ((PIND&0x04)!=0)?1:0; |
66 | } | 66 | } |
67 | 67 | ||
68 | +void commande_leds(){ | ||
69 | + unsigned char temp_serial, leds; | ||
70 | + temp_serial = get_serial(); | ||
71 | + if (temp_serial !=0){ | ||
72 | + leds = temp_serial; | ||
73 | + if (leds == 65) PORTB = PORTB | 0x01; | ||
74 | + if (leds == 66) PORTB = PORTB | 0x02; | ||
75 | + if (leds == 67) PORTB = PORTB | 0x04; | ||
76 | + if (leds == 68) PORTB = PORTB | 0x08; | ||
77 | + if (leds == 69) PORTB = PORTB | 0x10; | ||
78 | + if (leds == 70) PORTB = PORTB | 0x20; | ||
79 | + | ||
80 | + if (leds == 97) PORTB = PORTB & 0xfe; | ||
81 | + if (leds == 98) PORTB = PORTB & 0xfd; | ||
82 | + if (leds == 99) PORTB = PORT B & 0xfb; | ||
83 | + if (leds == 100) PORTB = PORT B & 0xf7; | ||
84 | + if (leds == 101) PORTB = PORT B & 0xef; | ||
85 | + if (leds == 102) PORTB = PORT B & 0xdf; | ||
86 | + } | ||
87 | +} | ||
88 | + | ||
68 | // Dummy main | 89 | // Dummy main |
69 | 90 | ||
70 | int main(void){ | 91 | int main(void){ |
71 | init_serial(9600); | 92 | init_serial(9600); |
72 | - ad_init(0); //pas sur que ce soit ici | ||
73 | output_init(); | 93 | output_init(); |
74 | input_init(); | 94 | input_init(); |
75 | 95 | ||
96 | + unsigned char boutons, boutons_anc; | ||
97 | + unsigned char joystick_x, joystick_x_anc; | ||
98 | + unsigned char joystick_y, joystick_y_anc; | ||
99 | + | ||
100 | + | ||
101 | + boutons_anc = PORTD & 0x7C; | ||
102 | + ad_init(0); | ||
103 | + joystick_x_anc = ad_sample(); | ||
104 | + ad_init(1); | ||
105 | + joystick_y_anc = ad_sample(); | ||
106 | + | ||
107 | + while(1){ | ||
108 | + boutons = PORTD & 0x7C; | ||
109 | + ad_init(1); | ||
110 | + joystick_x = ad_sample(); | ||
111 | + ad_init(0); | ||
112 | + joystick_y = ad_sample(); | ||
76 | 113 | ||
77 | -return 0; | 114 | + if (boutons_anc != boutons) send_serial(boutons); |
115 | + if ((joystick_x_anc != joystick_x) || (joystick_y_anc != joystick_y){ | ||
116 | + send_serial(joystick_x); | ||
117 | + send_serial(joystick_y); | ||
118 | + } | ||
119 | + | ||
120 | + commande_leds(); | ||
121 | + } | ||
122 | + | ||
123 | + return 0; | ||
78 | } | 124 | } |
125 | + | ||
126 | + | ||
127 | + | ||
128 | + | ||
129 | + | ||
130 | + | ||
131 | + | ||
132 | + | ||
133 | + | ||
134 | + | ||
135 | + | ||
136 | + |