Go Down

Topic: "analogWrite" vs "digitalWrite" (Read 18290 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.
I speak for myself, not Arduino.

Go Up