- Labornetzteil AliExpress         
Ergebnis 1 bis 2 von 2

Thema: Atmega16, STK500: Switch X gedrückt => LED X soll leuchten

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.09.2005
    Beiträge
    114

    Atmega16, STK500: Switch X gedrückt => LED X soll leuchten

    Anzeige

    Praxistest und DIY Projekte
    Hallo,
    der Thread-Titel sagt schon mein Anliegen

    Mein Code sieht derzeit so aus:

    Code:
    #include <avr/io.h>
     
    int main (void) {
     
        DDRB  = 0xFF;        // Port B alles Output
        DDRA  = 0x00;        // Port A alles Input
    
       
        //PORTB = 0x00;        // Alle LED an
        PORTB = 0xFF;        // Alle LED aus
     
        while(1) {
             // Knopf nicht gedrückt
            if(PINA & 0b00000001){
                PORTB = 0xFF;    // Alle LED aus
            }
            else{
                // Knopf gedrückt
                PORTB = 0xFE;    // Letzte LED einschalten
            }
    
             // Knopf nicht gedrückt
            if(PINA & 0b00000010){
                PORTB = 0xFF;    // Alle LED aus
            }
            else{
                // Knopf gedrückt
                PORTB = 0xFD;    // Letzte LED einschalten
            }
       }
       return 0;
    }
    Das hier funktioniert für switch0/1 und led0/1.

    Doch wie kann ich es eleganter lösen, wenn ich auf jeden Taster reagieren möchte?
    Eine möglichkeit wäre es natürlich ein Switch-Case-Konstrukt für jedes einzelne Bit zu machen. Denke es geht aber auch eleganter oder?

    Danke
    Kesandal

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Probier mal so:

    Code:
    #include <avr/io.h>
     
    int main (void) {
     
        DDRB  = 0xFF;        // Port B alles Output
        DDRA  = 0x00;        // Port A alles Input
    
        while(1) {
    
          PORTB = PINA;   
       }
       return 0;
    }
    Gruß Jan

Ähnliche Themen

  1. STK500, Atmega16, UART, AVR Studio4
    Von Jimmy83 im Forum C - Programmierung (GCC u.a.)
    Antworten: 35
    Letzter Beitrag: 14.04.2010, 09:38
  2. Led soll bei Spannungsunterschreitung leuchten
    Von YaNnIk im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 25.02.2010, 18:53
  3. Antworten: 1
    Letzter Beitrag: 19.03.2009, 15:09
  4. Assembler Beispielprogramm fürs STK500 (ATmega16)
    Von KartoffeL im Forum Assembler-Programmierung
    Antworten: 1
    Letzter Beitrag: 14.06.2007, 14:15
  5. ATmega16 und STK500
    Von andkut im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 15.01.2005, 16:57

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen