First of all:
I will write bolded in bigger letters but the meaning of this
bolded big letters
is not meant as shouting - just as emphasising
All you users out there if you find it too much reading so many big bolded letters
question your habits!
You are in a similar situation as a newcomer with the habit
of slow-looping more sequential code-execution. uh ! what is this !?!?!?
And this is
normal
And I want to explain why:
This example-code of blink without delay() is an example
without emphasising on the fundamental difference how this code works.
And 95% of the difficulties come from
not
explaining this difference.
As long as you try to see a delay()-similar thing in the BWD-code
you almost
must
fail!
because it really really works different!
The fundamental difference in very short words (still not explaining it all) is
delay() is executed a single time by blocking all code-execution
non-blocking timing based on function millis() is a very often
repeated
compairing of how much time has passed by including
fully intended hundreds_of_thousand-times looping through the code
I wrote a tutorial about this with an everyday example that a lot of people are familiar with
Whatever questions you have about this tutorial I'm very interested in infinite improving this
tutorial to make it easier to understand for newcomers.
best regards Stefan