hallo,
möchtest du analoges Signal messen oder ein digitales?
also wenn du nur bestimmte Portpins auslesen möchtest, dann geht das so:
sonst:Code:if(PINF & (1<<PF0)){ //hier wird abgefragt ob der PF0=1 ist //mach irgendwas }
und zu deiner blinkLED() Funktion...Code:if(!(PINF & (1<<PF0))){ //hier wird abgefragt ob der PF0=0 ist //mach irgendwas }
mit
änderst du nur die "Richtung" des Signals, d.h. du schaltest die Pins als Ausgang und nach 10ms wider als Eingang.Code:DDRB = (1 << DDB7); _delay_ms(10); DDRB &= ~( 1 << DDB7 ); _delay_ms(10);
Du müsstest am besten den entsprechenden Pin mit DDRB|=(1<<PB7); in der main zuvor initialisieren und dann kannst du mit PORTB|=(1<<PB7); den Pin auf 1 bzw. mit PORTB&=~(1<<PB7); wieder auf 0 setzen.








Zitieren
Lesezeichen