#include <avr/io.h>     // Definitionen laden 
#include <util/delay.h> // CPU Frequenz einstellen! 
#include "checkKeys.h"

void checkKeys(unsigned char keyMask,unsigned char keyNlogik){
  static unsigned char keyOld = 0;
  unsigned char keyTest,tmp; 
  keyEnter = 0, keyExit = 0; 
  keyTest = (PIND^keyNlogik)&keyMask; // Einlesen
  if (keyOld != keyTest){             // hat sich was getan 
    _delay_ms(20);                    // Prellen abwarten 
    tmp = (PIND^keyNlogik)&keyMask;   // noch mal Einlesen
    if (tmp == keyTest){              // ist es stabil? 
      keyEnter = (~keyOld) & keyTest; // steig. Fl. !alt&neu 
      keyExit = keyOld & (~keyTest);  // fall. Fl. alt&!neu 
      keyOld = keyTest; 
    } 
  } 
}