Du benötigste - wie schon vorher gepostet - eine Schleife, innerhalb der Dein Taster abgefragt wird, sonst geschieht die Abfrage nur einmal:
Wenn jetzt der Taster gedrückt wird, geht PortC.0 auf low. Danach bleibt der Pin auf 0, egal was passiert. Du musst natürlich dafür sorgen, dass PinA.0 bei nicht gedrücktem Taster auf High-Potenzial liegt.Code:#include <avr/io.h> #include <stdint.h> int main(void) { DDRA &= ~( 1 << PA0 ); /* PIN auf Eingang (Taster) */ PORTA |= ( 1 << PA0 ); /* Pullup-Widerstand aktivieren */ DDRC = (1 << DDC0); // pin c0 als ausgang PORTC |= (1<<PC0); // CPort C0 auf high for( ;; ) { if ( !(PINA & (1<<PINA0)) ) // Port A0 = 0 dann mache was { PORTC &= ~(1<<PC0); // Port C0 auf low } } return 0; }







Zitieren

Lesezeichen