function "digitalRead(port)" not possible on DUE?

Hello,
i use im my sketch (ported from MEGA) the following function:

digitalWrite(PORT_REL1, PORT_REL_EIN); //set pin 2 on low or high

and later..

Serial.println(digitalRead(PORT_REL1)); //read pin 2

But the result of the digitalRead() is always 0 in case of some ports (2, 22, 30, 40...) ?
On some other ports (3, 8, 9..) the function works fine.

Is it a bug or a "feature"?

paulinchen

Hello,
if i use

Serial.println(PIO_Get(g_APinDescription[PORT_REL1].pPort, PIO_OUTPUT_0, g_APinDescription[PORT_REL1].ulPin));

instead of the buggy digitalRead()-function

it works fine.

paulinchen

What is PORT_REL1?

First you should use the proper term

function "digitalRead(port)"

Port means something else in the AVR/Arduino world, and you are misusing it in this context. You should say:

function "digitalRead(pin)"

Pin is a single input or output bit
Port is a group of 8 associated I/O bits.

Lefty