Hallo,
Hast Du schon überlegt was in den 3 Zeilen passiert ?Code:DDRB=0x38; // Port B als Eingang PORTB=0x38; // Pull-ups auf Port B ein DDRB = 0b11111111;
in der etsten Zeile machst Du PINB3 PINB4 und PINB5 zum Ausgang.
in der zweiten Zeile Schaltest Du sie alle HIGH
in der dritten Zeile machst Du dann den ganzen Port zum Ausgang.
War das so gedacht ? Scheinbar nicht, sonst würdest Du PINB3 nicht abfragen wollen![]()
Schlimmer noch, soltest Du den Taster auf PB3 gegen GND schalten, baust Du Dir immer einen Kurzschluß...
Mach das bitte so:
Gruß SebastianCode:... DDRB &=~(1<<PB3); PORTB |=(1<<PB3); while(1) { if ( ~PINB & ( 1<<PINB3 ) ) { PORTD |= (1<<PD5); pwminit(); } ...







Zitieren
Lesezeichen