- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Simple Tasterabfrage funktioniert nicht (PullUp-Widerstand)

  1. #11
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Anzeige

    Powerstation Test
    DDRC |= (1 << PC4); //internen PullUp aktivieren

    Da muss doch PORTC stehen, oder?
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  2. #12
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Lass das Programm nach der Tastenabfrage ca. 1 Sekunde warten und schalte dann nach der Abfrage die LEDs wieder aus. Schau mal ob sie dauerhaft leuchten.

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    25.07.2007
    Ort
    Bookholzberg
    Beiträge
    68
    Code:
    #include <avr/io.h> 
    #include <inttypes.h> 
    #include <util/delay.h> 
    #define F_CPU = 16000000UL 
    
    
    int main() 
    { 
       while(1) 
       { 
       		DDRB = (1 << DDB0); 
          if(!(PINC & (1 << PC5))) //abfragen 
          { //wenn gedrückt 
              
              PORTB |= (1 << PB0); // Schaltet 2 LED's EIN 
             _delay_ms(200); //entprellen 
          }
    	  else
    	  {
    		PORTB &= ~(1 << PB0); // Schaltet 2 LED's AUS. 	
    	  }
       } 
       return 0; 
    }
    Mit dem Beispiel gehts... jetzt reagiert er bloß auf zwei Taster statt auf einem...

    Mal sehen ob`s vll am Kabelgewusel liegt

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Prima, wo ist denn nun der PullUp abgeblieben?

    DDRC &= ~((1<<PC7) | (1<<PC6) | (1<<PC5) | (1<<PC4) ); // Pins auf Eingang
    PORTC |= (1<<PC7) | (1<<PC6) | (1<<PC5) | (1<<PC4) ; // PullUps einschalten
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Benutzer Stammmitglied
    Registriert seit
    25.07.2007
    Ort
    Bookholzberg
    Beiträge
    68
    Es läuft nun!! THX @ All!

    Irgendwie schon komisch weil ich mir sicher bin ich das ich dié PULL-UPs vorhin hab eingeschaltet... nur halt exkat anders herum

    PORTC |= (1<<PC4) | (1<<PC5) | ... aber das ist doch völlig irrelevant oder etwa nicht??

  6. #16
    Erfahrener Benutzer Roboter Experte Avatar von BurningWave
    Registriert seit
    22.12.2007
    Ort
    nahe Stuttgart
    Alter
    30
    Beiträge
    656
    Irgendwie schon komisch weil ich mir sicher bin ich das ich dié PULL-UPs vorhin hab eingeschaltet... nur halt exkat anders herum

    PORTC |= (1<<PC4) | (1<<PC5) | ... aber das ist doch völlig irrelevant oder etwa nicht??
    Eigentlich schon.

  7. #17
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    PORTC |= (1<<PC4) | (1<<PC5) | ... aber das ist doch völlig irrelevant oder etwa nicht??
    Das ist egal in welcher Reihenfolge es angegeben wird, der Kompiler ersetzt es sowieso durch 0b11110000 oder einfach 240.

    Übrigens würde ich zwischen Taster und GND noch einen Widerstand schalten um zu verhindern dass bei falscher Ansteuerung des Pins derselbige abraucht wenn eine Taste gedrückt wird! Er sollte mindestens so groß sein das maximal ca. 20mA fließen (also etwa >220) und gleichzeitig aber so klein das die Spannung am Spannungsteiler zwischen PullUp (>10k) und Schutzwiderstand am Pin noch sicher als Low erkannt wird. Bei meiner Anwendung oben verwende ich 820 Ohm.

    Wie sieht denn nun die funktionierende Version des Programms aus?
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress