From 65705671470818dfaee3cdee7d4265452e118a0b Mon Sep 17 00:00:00 2001 From: rguillom Date: Wed, 15 Jan 2020 17:22:43 +0100 Subject: [PATCH] Début prog --- main.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 63 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index 8ce3bab..1b3815a 100644 --- a/main.c +++ b/main.c @@ -49,7 +49,7 @@ return ADCH; // For the I/O void output_init(void){ -DDRB |= 0x01; // PIN 8 as output +DDRB |= 0b00011111; // PIN 8-13 as output } void output_set(unsigned char value){ @@ -57,22 +57,80 @@ if(value==0) PORTB &= 0xfe; else PORTB |= 0x01; } void input_init(void){ -DDRD &= 0xfb; // PIN 2 as input -PORTD |= 0x04; // Pull-up activated on PIN 2 +DDRD |= 0x7c; // PIN 2-6 as input (Bouton Joystick + boutons) +DDRC |= 0x03; // PIN 0-1 analogiques comme input (x et y joystick analogique) } unsigned char input_get(void){ return ((PIND&0x04)!=0)?1:0; } +void commande_leds(){ + unsigned char temp_serial, leds; + temp_serial = get_serial(); + if (temp_serial !=0){ + leds = temp_serial; + if (leds == 65) PORTB = PORTB | 0x01; + if (leds == 66) PORTB = PORTB | 0x02; + if (leds == 67) PORTB = PORTB | 0x04; + if (leds == 68) PORTB = PORTB | 0x08; + if (leds == 69) PORTB = PORTB | 0x10; + if (leds == 70) PORTB = PORTB | 0x20; + + if (leds == 97) PORTB = PORTB & 0xfe; + if (leds == 98) PORTB = PORTB & 0xfd; + if (leds == 99) PORTB = PORT B & 0xfb; + if (leds == 100) PORTB = PORT B & 0xf7; + if (leds == 101) PORTB = PORT B & 0xef; + if (leds == 102) PORTB = PORT B & 0xdf; + } +} + // Dummy main int main(void){ init_serial(9600); - ad_init(0); //pas sur que ce soit ici output_init(); input_init(); + unsigned char boutons, boutons_anc; + unsigned char joystick_x, joystick_x_anc; + unsigned char joystick_y, joystick_y_anc; + + + boutons_anc = PORTD & 0x7C; + ad_init(0); + joystick_x_anc = ad_sample(); + ad_init(1); + joystick_y_anc = ad_sample(); + + while(1){ + boutons = PORTD & 0x7C; + ad_init(1); + joystick_x = ad_sample(); + ad_init(0); + joystick_y = ad_sample(); -return 0; + if (boutons_anc != boutons) send_serial(boutons); + if ((joystick_x_anc != joystick_x) || (joystick_y_anc != joystick_y){ + send_serial(joystick_x); + send_serial(joystick_y); + } + + commande_leds(); + } + + return 0; } + + + + + + + + + + + + -- libgit2 0.21.2