es muss heissen:

Code:
if (buffer == 'a') 
{
     PORTD = (1<<PD7);
}

weil buffer ja vom typ unsigned char ist.


Den LED Takt im Code berechnest Du, z.B. aus SysCLK = 8000000.

Wenn jetzt stattdessen die tatsächlice Taktrate des Chips nur 1MHz ist, blinkt die LED 8 mal langsamer.