Zitat Zitat von Calis007 Beitrag anzeigen
Hmm.. im IF, das
PORTD |= (1<< PD3); //auf high setzen
passiert auch nur einmal und wird nie rueckgesetzt.. hat damit vermutlich nichts zu tun, sieht aber auch sonderbar aus, sollte wohl ein PB3 sein, oder?

5V ist eigentlich ueblich hier, oder auch nur 3.3V.

siehe auch gaengige Logikpegel:
http://de.wikipedia.org/wiki/Logikpegel
hab ich auch grad gelesen^^

jetzt funktionierts.

#include <avr/io.h>

int main (void)

{
while (1)
{
DDRC &= ~(1<< PC1); //PortC Pin2 als Eingang definieren
PORTC |= (1<< PC1); //PortC Pin2 Pullup aktivieren

if (!(PINC & (1<<PINC1))) //Läuft bei Taster geschlossen los
{
DDRB |= (1<< PB0); //als Ausgang definieren
PORTB |= (1<< PB0); //auf high setzen
DDRB |= (1<< PB5); //als Ausgang definieren
// PORTB |= (1<< PB5); //auf high setzen
PORTB &= ~(1<< PB5); //auf low setzen
DDRD |= (1<< PD3); //als Ausgang definieren (Motor enable)
PORTD |= (1<< PD3); //auf high setzen (Motor enable)
}
else
{
DDRB |= (1<< PB0) | (1<< PB5);
PORTB &= ~(1<< PB0) |(1<< PB5);
DDRD |= (1<< PD3);
PORTD &= (1<< PD3);
}

}

return 0;
}


Aber wo ich grad dran bin. Kann mir einer sagen wie das mit ner PWM aussehen muss?

Danke
mfg