- SF800 Solar Speicher Tutorial    Werbung      
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
    55
    Beiträge
    502
    Wäre in dem Fall

    DDRB &= ~(1 << PB3); /* set PB3 to input*/ PORTB |= (1 << PB5);

    aber sowieso egal.

    Hast du den ISP Adapter immer angesteckt?
    Würde ich mal ohne testen. Ansonsten mal den Pegel an den Pins messen.

    雅思特史特芬
    开发及研究

  2. #2
    Gesperrt Öfters hier
    Registriert seit
    21.05.2008
    Beiträge
    25
    Habe den ISP Adapter abgesteckt leider ohne erfolg. Habe den Code nochmal über arbeitet und bereinigt.
    Code:
    #define F_CPU 10000000UL
    #include <avr/io.h>
    #include <util/delay.h>
    
    
    void PowerOn(){
    /**********Start Powerleds*******************/
      DDRB |= 1<<PB0;      /* set PB0 to output */
      DDRB |= 1<<PB1;      /* set PB1 to output */
      PORTB |= (1 << PB0); /* LED0 on           */
      PORTB |= (1 << PB1); /* LED1 on           */
    /********************************************/ 
    }
    
    
    void setPins(){
    /**************Input*************************/
      DDRB &= ~(1 << PB2); /* set PB2 to input*/  
      DDRB &= ~(1 << PB3); /* set PB3 to input*/
    /********************************************/
      
    /**************Ouput*************************/  
      DDRD |= 1<<PD6;      /* set PB6 to output */
      DDRD |= 1<<PD7;      /* set PB7 to output */
      PORTD &= ~(1<<PD6);  /* PD6  off          */                     
      PORTD &= ~(1<<PD7);  /* PD7  off          */
    /********************************************/
    }
    
    
    void eventhandler(){
    /**********Read Input PB2 and PB3*************/ 
      if(!(PINB & (1 << PB2)) ) {
        PORTD |= 1<<PD6;               /* LED on */
      }else {
        PORTD &= ~(1<<PD6);           /* LED off */
      }
      if(!(PINB & (1 << PB3)) ){
        PORTD |= 1<<PD7;               /* LED on */
      }else{
        PORTD &= ~(1<<PD7);           /* LED off */
      }
    }
    
    
    int main(void) {
      setPins();
      PowerOn();
      while(1) {
        eventhandler();
      }
      return 0;
    }

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von sast
    Registriert seit
    30.11.2004
    Alter
    55
    Beiträge
    502
    Wie ist denn das Verhalten? Das Programm sagt mir nur, wie du es gern möchtest, aber nicht, was es bei dir macht.

    雅思特史特芬
    开发及研究

  4. #4
    Gesperrt Öfters hier
    Registriert seit
    21.05.2008
    Beiträge
    25
    Eigentlich soll wenn man den Taster die jeweilige led leuchten. Nur leider passiert nichts die Pegel beim AVR liegen bei 5 volt. Habe mittlerweile die Taster im verdacht, wenn ich den Taster drücke habe ich keinen Widerstand wenn ich den Taster nicht drücke habe ich auch keinen. Hatte aus der Tüte noch nen paar über.
    Eigentlich muss ich doch nen Riesen widerstand habe wenn ich ihn nicht drücke und wenn ich ihn drücke nen Maginal kleinen ?

  5. #5
    Gesperrt Öfters hier
    Registriert seit
    21.05.2008
    Beiträge
    25
    ich habe glaube ich habs taster waren anders gepolt als beschrieben Bild  

  6. #6
    Gesperrt Öfters hier
    Registriert seit
    21.05.2008
    Beiträge
    25
    Es geht die Taster waren es unglaublich

  7. #7
    Gesperrt Öfters hier
    Registriert seit
    21.05.2008
    Beiträge
    25
    so den code habe ich auch dar wo ich ihn hin haben möchte:
    Code:
    #define F_CPU 10000000UL
    #include <avr/io.h>
    #include <util/delay.h>
    
    
    int channel0;
    int channel1;
    
    
    void PowerOn(){
    /**********Start Powerleds*******************/
      DDRB |= 1<<PB0;      /* set PB0 to output */
      DDRB |= 1<<PB1;      /* set PB1 to output */
      PORTB |= (1 << PB0); /* LED0 on           */
      PORTB |= (1 << PB1); /* LED1 on           */
    /********************************************/ 
    }
    
    
    void setPins(){
    /**************Input*************************/
      DDRB &= ~(1 << PB2); /* set PB2 to input*/  
      DDRB &= ~(1 << PB3); /* set PB3 to input*/
    /********************************************/
      
    /**************Ouput*************************/  
      DDRD |= 1<<PD6;      /* set PB6 to output */
      DDRD |= 1<<PD7;      /* set PB7 to output */
      PORTD &= ~(1<<PD6);  /* PD6  off          */                     
      PORTD &= ~(1<<PD7);  /* PD7  off          */
    /********************************************/
    }
    
    
    void eventhandler(){
    /**********Read Input PB2 and PB3*************/ 
      if((PINB & (1 << PB2)) ) {
        channel0=1;
        channel1=0;   
      }
      
      if((PINB & (1 << PB3)) ){
        channel1=1;
        channel0=0;    
      }
      
      if(channel0==1){
        PORTD |= 1<<PD6;               /* LED on */
        PORTD &= ~(1<<PD7);            /* LED off */     
      }else if(channel1==1){
        PORTD |= 1<<PD7;               /* LED on */
        PORTD &= ~(1<<PD6);            /* LED off */
      }
    }
    
    
    int main(void) {
      setPins();
      PowerOn();
      channel0=1;
      while(1) {
        eventhandler();
      }
      return 0;
    }

Ä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
  •  

    Werbung      LiFePO4 Speicher Test