Hallo, ich habe mir das Atmel Evaluation Board und einen ATmega32 gekauft und versuche meine ersten Schritte in der Elektronik.
http://www.akagisan.de/electronic/at...ions-Board.pdf hier ist auf Seite 6 der Schaltplan
Die Taster sind, wenn ich alles Richtig verstanden habe "Active High", d. h ich brauche keine Pull Up Widerstände im ATmega aktivieren (Die Pull Down Widerstände sind ja schon auf dem Board).
Die 2 LEDs sind im Register D auf Pin 5 und 6, die Taster sind ebenfalls an Register D aber auf Pin 2, 3 und 4.
Ich habe mir, folgenden Code geschrieben, der sollte LED 1 (Pin 5) leuchten lassen solange der Taster nicht gedrückt ist, sobald der Taster gedrückt ist, soll LED 1 aus und LED 2 (Pin 6) angehen. Der Taster soll Taster 1 auf Pin 2 sein.
Code:
#include <avr/io.h>
int main()
{
DDRD = 0xF8; // entsprich 1111 1000
PORTD = (0 << 2) & (0 << 3) & (0 << 4); // eig. unnötig, aber man weis ja nie
while(1){
if(PIND & 0x02){
PORTD |= (1 << 6);
PORTD &= ~(1 << 5);
}else{
PORTD |= (1 << 5);
PORTD &= ~(1 << 6);
}
}
}
Aber der Taster funktioniert nicht ... ich habe die Lötstellen kontrolliert und manchmal, ganz selten und unregelmäßig scheint der ATmega auf den Tastendruck zu reagieren, aber sehr sehr selten.
Ich hoffe ihr könnt mir sagen wo das Problem liegt.
MfG Icon
EDIT1 : Rechtschreibfehler
Lesezeichen