i is the bit index. PORTB.0[i] = 0 is PORTB.BIT[i] = 0. i increments from 0 to 7, so it clears
PORTB.0 to PORTB.7.
i is the bit index. PORTB.0[i] = 0 is PORTB.BIT[i] = 0. i increments from 0 to 7, so it clears
PORTB.0 to PORTB.7.
Thanks for the quick reply Bruce,
So if I understand correctly, by
i = 0
REPEAT
PORTB.0[i] = 0
i = i + 1
UNTIL i > 7
i = i + 1 ' increments PORTB.0 thru 7 and
PORTB.0[i] = 0 ' places a 0 in each bit
Well, I'm good for the day, Learned something new.
Thanks again Bruce
I'm happy you posted this question tazntex. I never used the REPEAT instruction, but as a programmer I know I would have fallen into one of those see-what-you-want traps, something like this:
i = 0
REPEAT
PORTB.[i] = 0
i = i + 1
UNTIL i > 7
I would have looked at this code for hours before seeing where I went wrong.
(I wished we had a button that allowed us to use the CODE command, I can never remember the syntax.)
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
I for one have called the good people over at MElabs and requested(suggested) that they spend more effort on better syntax examples in the manual. Why waste all those clean white pages? (They agreed, by the way)
As I look at this example it still does not make sense to me.
I would have tried it the same as Robert, and banged my head against the wall for hours...
This one does not look intuitive at all.
Thanks for the heads up...
Dwight
Tazntex,
In your first post you said
Technically speaking, it repeats until I=8 then it exits the loop. Of course, it won't execute the line PORT[I]=0 for I=8.I understand how it repeats until i is equal to 7 then moves on but what does the [i] in PORTB.0[i] do?
Robert
While were on the subject of Port.Bits. I would like to use a random generator to set a single bit in an output port while working with an 8x8 dot matrix display. Is there any way to use a VARiable to set a RANDOM single Bit on an output port?
Ran_Word var wordIs there any way to use a VARiable to set a RANDOM single Bit on an output port?
Ini:
RANDOM Ran_Word
pause 100
PortB = Ran_Word.byte0
Pause 100
PortB = Ran_Word.byte1
Goto Ini
This code should suite your need.
Al.
All progress began with an idea
Bookmarks