Taster und LED

Gast #1140986
Lesenswert?
• ▲
▼
Hallo zusammen,
ich habe gerade erst angefangen mit der ic Programmierung.

Ich will über einen Taster eine LED ein bzw. ausschalten. Das 
funktioniert soweit auch. Aber warum schaltet sich die LED beim Start 
ein?

#include <avr/io.h>
#include <stdint.h>

#define F_CPU 1000000UL

#include <util/delay.h>


int main()
{
  //Ausgang
  DDRC = (1 << 5); /* Output */

  //Eingang
  DDRD &= ~(1 << 2); //Eingang
//  PORTD |= (1 << 2); //Pull-Up aktivieren

  int i;
  i = 0;

  PORTC &= ~(1 << PC5);


  while(1)
  {
    if ( !(PIND & (1<<PIND2)) )
    {
      if(i<1)
      {
        i = 1;
        PORTC |= (1 << PC5);
        _delay_ms(250);
      }
      else
      {
        i = 0;
        PORTC &= ~(1 << PC5);
        _delay_ms(250);
      }
    }
  }
  return 0;
}


Gruß,
Tobi
Gast #1141013
Lesenswert?
• ▲
▼
Danke für die super schnellen Antworten!

>>>  PORTC &= ~(1 << PC5);
>>Vermutlich liegt die mit einem Vorwiderstand gegen +5V?
>>Dann schaltet eine '0' am Port die LED ein.

Nun geht es... Danke, hätte ich auch selber drauf kommen können. 
Verwende das Einsteigerkit hier aus dem Shop.

Gruß,
Tobi

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren