- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 18

Thema: Probleme mit Tasterschaltung

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    54
    Beiträge
    502
    ich würde mal sagen, nicht die Taster sind schuld, wenn sie nicht richtig angeschlossen sind.
    Aber trotzdem schön, wenn es jetzt klappt.

    Gute Nacht
    sast

    雅思特史特芬
    开发及研究

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    31.05.2009
    Ort
    Stralsund
    Alter
    34
    Beiträge
    436
    Es ist schön festzustellen, dass sich immer mehr für AVRs begeistern können.
    Das wird ja fast zum Volkssport

    Du machst einige unnötige Dinge in Deinem Code.

    Dein Programm startet ja in der main(), zu diesem Zeitpunkt ist DDRB= 0000.0000 (binär).
    In der setPins() setzt du dann die B2 und B3 0, obwohl sie es schon sind, tut also nicht not
    Das selbe Spiel am Ende der setPins(), PORTD ist bereits 0000.0000 und muss nicht extra genullt werden.

    Außerdem kannst Du Dir die beiden Variablen sparen
    Code:
    void eventhandler()
    {
      if((PINB & (1 << PB2)) ) {
        PORTD |= 1<<PD6;               /* LED on */
        PORTD &= ~(1<<PD7);            /* LED off */    
      }
      
      if((PINB & (1 << PB3)) ){
        PORTD &= ~(1<<PD6);            /* LED off */     
        PORTD |= 1<<PD7;               /* LED on */
      
      }
      
    }
    Ein kleiner Tipp am Rande, diese schönen Kästchen im Code sind gruselig.
    Fang am besten jetzt schon mit einem sauberen Schreibstiel an

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.06.2011
    Beiträge
    158
    Ein paar ueberfluessige Klammern gabs da noch, und ich empfehle auch immer, die geschwungenen Block-Klammern genauso einzuruecken wie den Block selbst. Findet man dann viel leichter, wo eine fehlt - ist aber Geschmackssache

    Code:
    void eventhandler()
      {
      if (PINB & (1 << PB2))
        {
        PORTD |= 1<<PD6;             /* LED on */
        PORTD &= ~(1<<PD7);          /* LED off */    
        }
      
      if (PINB & (1 << PB3))
        {
        PORTD &= ~(1<<PD6);          /* LED off */     
        PORTD |= 1<<PD7;             /* LED on */
        }
      }

Ähnliche Themen

  1. pwm Probleme
    Von fatjoe im Forum PIC Controller
    Antworten: 0
    Letzter Beitrag: 01.05.2007, 11:35
  2. Probleme mit DSL
    Von Panzer im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 08.07.2006, 15:02
  3. I2C Probleme
    Von tristate im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 27.10.2005, 23:17
  4. Probleme mit CAN
    Von ba4_philipp im Forum Elektronik
    Antworten: 14
    Letzter Beitrag: 25.10.2005, 23:05
  5. Probleme mit den AVR´s
    Von mcmonkey im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 23.02.2005, 19:21

Berechtigungen

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

Solar Speicher und Akkus Tests