Zitat von
fuxx
... Status eines Eingangs abzufragen ... will nicht so klappen
Die fehlerhafte Aktion mit der ioXXXX.h hat markusj schon beanstandet. Daher wundert es mich, dass Dein Compiler das korrekt übersetzt. Hast Du beim Hexfile schon aufs Datum geschaut? Ob das nicht einer ist, der früher mal erstellt wurde (<< ist ein beliebter Fehler, tritt bei mir öfters nach Mitternacht auf *ggg*).
Der folgende Code (-schnipsel) läuft bei mir mit ähnlichen Portinitialisierungen auf (m)einem mega168.
Code:
// Pins/Ports als Ein- (0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
// A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp
DDRB = 0b10011111; // siehe aktuell oben oder Fortschritt/R2D2
PORTB = 0b01100000; // und Port/Pull Ups (1) aktivieren
. . . . . . .
// =================================================================================
. . . . . . .
/* while (1)
{ if ( ! (PINB & (1 << PINB5)) ) // Taste abfragen auf SCK
{ PORTC |= (1<<PC4); } // LED auf PC4/MISO einschalten
else
{ PORTC &= ~(1<<PC4); } // LED auf PC4/MISO ausschalten
oder: if ( PIND & ( 1<<PIND2 ) ); // mache was wenn PinD2 High ist
}
*/
Übrigens: geposteter Code sieht viel besser aus, wenn man ihn in [Code]-Tags packt.
Viel Erfolg.
Lesezeichen