comportamento anomalo letura diretta portaC. -RISOLTO

Ciao a tutti, chiedo una mano per capire coma mai questo codice non funziona correttamente:

void setup() {
  DDRC=0b00000000;
  PORTC=0xFF;
  Serial.begin(9600);
}

int i=0;
void loop() {
  Serial.print(PORTC,HEX);
  Serial.println(digitalRead(30));
}

ottengo che digitalRead funziona correttamente e ritorna lo stato del pin 30 ( PORTC bit 7)
facendo le letture diterramente sul registro PORTC non leggo alcuna variazione.
devo utilizzare questo metodo per leggere contemporaneamente tutti gli 8 bit della porta senza l'overhead della digitalRead.
qualcuno sa perchè questo comportamento.
Grazie

Benvenuto. :slight_smile:
Ti invitiamo a presentarti qui: Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! (Part 1) - Generale - Arduino Forum
e a leggere il regolamento: [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum

Il codice deve essere racchiuso nei tag code. Nella sezione 7 del regolamento viene spiegato come fare.

Per il tuo problema (Arduino Mega, giusto?), hai provato a leggere qui?
http://www.leonardomiliani.com/2013/manipoliamo-direttamente-le-porte-logiche-di-una-mcu/

PORTC per l'output, PINC per l'input
"PINB is the input register variable It will read all of the digital input pins at the same time"
"PORTB is the register for the state of the outputs"

Grazie per l'aiuto, mi era sfuggita la possibilità di accedere con differenti modalità (lettura scrittura)
A buon rendere.