Go Down

Topic: "analogWrite" vs "digitalWrite" (Read 14613 times) previous topic - next topic


What is the difference between analogWrite() and digitalWrite()?  I will show two different blocks of code that gave me the exact same output on my hardware. There are the codes;

int led=1, brightness=255;
pinmode (led, brighness);
digitalwrite(led, brightness);


int led=1;
pinmode(led, output);
digitalwrite(led, high);

When I write these codes I can change digital to analog and get the exact same results. Why is this? What is the difference? Is one preferable over the other?

and yes i know that half the code is missing and that there are no caps, but you should be able to understand what I'm trying to say.


Pin 1 is not a PWM pin (3, 5, 6, 9, 10, and 11 are on the UNO).  For a non-PWM pin, analogWrite() with a value below 128 is tha same a digitalWrite(LOW) and analogWrite() with a value above 127 is tha same a digitalWrite(HIGH).

You don't need pinMode() for PWM pins.  The analogWrite() function takes care of that.

The PWM value 255 is full brightness.  You won't see a difference between that and digitalWrite(HIGH).
Send Bitcoin tips to: 1G2qoGwMRXx8az71DVP1E81jShxtbSh5Hp

Coding Badly

@alexval1323, please do not cross-post.


The PWM value 255 is full brightness.

That depends how the LED is wired.
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

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!

via Egeo 16
Torino, 10131