Registres PWM & timer ATmega 328

Re-bonjour tout le monde désolé de déterrer un peu le sujet mais c'est encore une question de registre que j'avais à poser:
Voila mon (nouveau) problème : je ne sais pas comment lire les valeurs sur un port entier.. je pensais qu'en écrivant:
int val;
val = PORTC;
cela marchais mais la valeur "val" obtenues prenait le valeur du portc mais rien ne ce passe,j'ai beau changer la valeur aux broches rien
j'ai aussi essayé:
int val;
val = PORTC & 0b11111111;
rien non plus.... comment faire ? le registre DDRC doit être à 0 ou à 1?