Direct reading value PORT C DUE Arduino

Hello,
I need to read direct value on PORTC DUE Arduino by one command.
Reading ADC value (for example):

uint16_t value = ((X >> 4) & 0xFF00) | ( (X >> 2) & 0xFF);

On the Arduino DUE port C, in addition to the pins that are set as inputs for the AD7606 conversion- 16bit ADC, there are also pins that are set as outputs.

My questions:
Can I safely read the PIOC->PIO_PDSR register, which contains the 16-bit ADC conversion value (inputs) if some others pins on port C are set as outputs ?

Is it possible to read PIOC->PIO_PDSR when there is a combination of inputs and outputs on port C without the risk of destroying the DUE?

Are there any special precautions required when reading the PIOC->PIO_PDSR register if there are pins on port C configured as outputs?

Thanks in advance for your answer

Yes, it's a read only register, there is no harm reading it, regardless of whether pins are set as input or output. It will not interfere with outputs at all.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.