Hi Boozer99,

Hier ein Auszug aus meinem aktuellen Programm (m168 - aber es gilt natürlich auch für andere Controller). Meine Ports werden z.B. so initialisiert und danach wie vorgestellt abgefragt. Allerdings ist hier keine Tastenentprellung eingebaut ! ! ! Das könnte, je nach Anwendung, schief gehen.

Code:
//####### Grundlegende Initialisierungen der Hardware, Portdefinition -------------
//Pins/Ports als Ein- (0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
  DDRB  = 0b00100111;   // siehe aktuell oben (oder fortschrittsbericht)
  PORTB = 0b11011000;   //    und Port/Pull Ups (1)  aktivieren
              
  DDRC  = 0b01110000;   // PC3 ist ADC3, PC0 .. 6 , kein PC7-Pin bei m168
  PORTC = 0b00000110;   // Änderung für ADC: PC3 ist Eingang ##>> OHNE Pullup !!
...
...
  if ( ! (PINB & (1 << PINB4)) )      // Taste abfragen auf PB4(MISO)
    { PORTC |=  (1<<PC4); }           // LED auf PC4 einschalten