do??
Jovars.
I = 0 betyder att variablen I sätts till noll i värde (innehåll).
Gör sedan följande:
I = I+1 betyder läg 1 till I
PORTB = I skicker värdet av I ut på PORTB
loop until I=10 betyder att allt mellan do...loop until ska göras så länge I'värde är olika 10.
Programmet kommer att skicka det binära mönster ut på PORTB enligt detta:
0000 0001 ' Binärt 1
0000 0010 ' Binärt 2
0000 0011 ' 3
0000 0100 ' 4
0000 0101 ' 5
0000 0110 ' 6
0000 0111 ' 7
0000 1000 ' 8
0000 1001 ' 9
0000 1010 ' 10
och sen köra vidare i programmet.
Jag hade föredragit att göra det såhär men jag är också rätt petig:
I = 0 ' Samma
do ' Samma
I = I + 1 ' Samma
PORTB = I ' Samma
loop until I >= 10 ' Här skiljer det sig
Skillnaden består av att om en extern händelse i programmet ändrar I kommer denna loop att stoppa när värdet på I är lile med eller överstiger 10, den originala stoppade enbart om I var just 10.
Spetsfundighet osv och i normala fall totalt likgiltigt men med en massa interrupts kan det vara viktigt.
I = 0 betyder att variablen I sätts till noll i värde (innehåll).
Gör sedan följande:
I = I+1 betyder läg 1 till I
PORTB = I skicker värdet av I ut på PORTB
loop until I=10 betyder att allt mellan do...loop until ska göras så länge I'värde är olika 10.
Programmet kommer att skicka det binära mönster ut på PORTB enligt detta:
0000 0001 ' Binärt 1
0000 0010 ' Binärt 2
0000 0011 ' 3
0000 0100 ' 4
0000 0101 ' 5
0000 0110 ' 6
0000 0111 ' 7
0000 1000 ' 8
0000 1001 ' 9
0000 1010 ' 10
och sen köra vidare i programmet.
Jag hade föredragit att göra det såhär men jag är också rätt petig:
I = 0 ' Samma
do ' Samma
I = I + 1 ' Samma
PORTB = I ' Samma
loop until I >= 10 ' Här skiljer det sig
Skillnaden består av att om en extern händelse i programmet ändrar I kommer denna loop att stoppa när värdet på I är lile med eller överstiger 10, den originala stoppade enbart om I var just 10.
Spetsfundighet osv och i normala fall totalt likgiltigt men med en massa interrupts kan det vara viktigt.
Senast redigerad av Icecap 15 januari 2005, 21:12:48, redigerad totalt 1 gång.
Inte ved jag vad du uppfattar men du kanske ska definiera I för att få funktionen att köra.
Jag förstår att det är nån sorts BASIC och där brukar man ju att deklarera variabler, exakt hur kan jag inte veta då jag har släppt BASIC sedan länge men jag har för mig att man gjorde såhär (eller liknande):
dim I as integer ' eller kanske
dim I as byte ' eller något liknande. 'Dim' delen är jag ganska säker på.
Jag förstår att det är nån sorts BASIC och där brukar man ju att deklarera variabler, exakt hur kan jag inte veta då jag har släppt BASIC sedan länge men jag har för mig att man gjorde såhär (eller liknande):
dim I as integer ' eller kanske
dim I as byte ' eller något liknande. 'Dim' delen är jag ganska säker på.
-
- Inlägg: 700
- Blev medlem: 23 augusti 2003, 20:42:38
Så mikroBasic gör skillnad på små och stora bokstäver. I alla Basic-varianter jag har testat görs det ingen skillnad alls.Robert Nielsen skrev:Murre> "i var byte" Kommer inte att fungera i mikroBasic.
För att deklarera vad "I" ska vara skriver du:
"Dim I as Byte" (Ta bort citationstecknen, ev. kan du behöva sätta di citationstecknen runt "I")