Hallo Knut!
Ich weiß jetzt nicht, warum du die Null immer vorne hast?
Lass dir noch mal "K" ausgeben..... und schreib für beide Drehrichtungen die Reihenfolge der Zahlen auf!
Es kann eigentlich nicht sein, dass die "Null" in Ruhestellung ausgegeben wird.
BIST DU DIR GANZ SICHER?
Ich habe den Code mal etwas leserlicher gestaltet und die NULL bei "Encoder" wieder eingefügt.
Damit bleibt dein Programm nicht stehen, wenn der Encoder nicht gedreht wird!
Testweise kannst du ja mal "IF K = 3" verwenden".....
Gruß,
Cassio
Ich weiß jetzt nicht, warum du die Null immer vorne hast?
Lass dir noch mal "K" ausgeben..... und schreib für beide Drehrichtungen die Reihenfolge der Zahlen auf!
Es kann eigentlich nicht sein, dass die "Null" in Ruhestellung ausgegeben wird.
BIST DU DIR GANZ SICHER?
Ich habe den Code mal etwas leserlicher gestaltet und die NULL bei "Encoder" wieder eingefügt.
Damit bleibt dein Programm nicht stehen, wenn der Encoder nicht gedreht wird!
Testweise kannst du ja mal "IF K = 3" verwenden".....
Code:
$regfile = "m8def.dat"
$crystal = 16000000
$framesize = 32
$swstack = 32
$hwstack = 64
Ddrd = &B111_00_011
Portd = &B000_11_100
Ddrb = &B11111111
Portb = &B00000000
Config Lcdpin = Pin , Port = Portb , E = Portd.6 , Rs = Portd.5
Config Lcd = 20 * 4
Dim K As Byte
Dim Z As Byte
Z = 127
cls
Do
K = Encoder(pind.2 , Pind.3 , Runter , Rauf , [B][COLOR="Red"]0[/COLOR][/B] )
Locate 1 , 1 : Lcd Z
Loop
Rauf:
If K = 3 Then Incr Z
Return
Runter:
If K = 3 Then Decr Z
Return
End
Gruß,
Cassio