Verständnis Problem Eingänge lesen

Gast #3547355
Lesenswert?
• ▲
▼
Hallo,
ich bin gerade am Erlernen von C. Ich benutze den Atmega8A. Mein Problem 
ist, dass ich es nicht schaffe zu verstehen warum der µC immer den 
Eingang als "Null" sieht. Dabei ist der Taster Hardwaremäßig entpellt 
und er besitzt einen Pulldownwiderstand. Dabei soll der Taster (PinD.2) 
immer abgefragt werden, bei 1 soll er den Ausgang "blinken" lassen. Dies 
geht aber nur ein mal. Mein bisheriges Verständnis sagt mir:
Pin lesen; auf 1 überprüfen ; wenn ja blinken;Pin lesen ; auf 1...
Wenn ich also auf dem Taster bleibe müsste es immer blinken? Ich hab 
mein Progrämmchen auch in AVR Studio simuliert, dort läuft es auch nur 
einmal durch(es blinkt nur ein paar mal), erst wenn ich den Taster los 
lasser und erneut betätige geht es wieder.

Vielen Dank wenn mir das jemand kurz erklären könnte wieso dies nicht 
der Fall ist.
1
int main(void)
2
{
3
DDRD=0b00000001;
4
  
5
    while(1)
6
  {  
7
     if((PIND & (1<<PIND2))) // Taster Abfrage
8
     {
9
       
10
    PORTD=0b00000001;  // blinken
11
    _delay_ms(50);  
12
    PORTD=0b00000000; 
13
    _delay_ms(50);  
14
    PORTD=0b00000001;
15
    _delay_ms(20);
16
    PORTD=0b00000000;
17
     }
18
    else{
19
      PORTD=0b00000000; // Wenn Taster 0 dann Ausgang 0
20
    }
21
    
22
   
23
    }
24
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.