Go Down

Topic: function "digitalRead(port)" not possible on DUE? (Read 1 time) previous topic - next topic

paulinchen

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

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

James C4S

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

retrolefty

First you should use the proper term

Quote
function "digitalRead(port)"


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

Quote
function "digitalRead(pin)"


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

Lefty

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy