PORTD diverso tra atmega328 e 168 ?

Ciao a tutti, ho uno sketch per arduino che mi piacerebbe utilizzare in un progetto. Non ho scritto io il software. Provando a compilarlo con un atmega328 montato su arduino ottenevo sempre un errore relativo a queste righe:

#define gsclk_high() PORTD |= (1 << PD5)
#define gsclk_low() PORTD &= ~(1 << PD5)

mentre montando un atmega168 il problema non si e' posto e il programma ha compilato tranquillamente.

Sapete spiegarmi di che si tratta (ho letto la documentazione di portd, ma non capisco che differenza ci sia per il 328 visto che sul wiki e' menzionato l'8 e il 168)?

Fede

hai compilato considerando il giusto microcontroller di destinazione?
nell'ide di arduino devi scegliere quale usi.

prova poi a definire PD5
#define PD5 5
prima di quelle righe