If you place two 100nF to ground for debouncing false results will be limited.
Ioannis
If you place two 100nF to ground for debouncing false results will be limited.
Ioannis
I already tried that...without results ! %$@#^*#@^ roller !
not sure to understand your thing, but give yourself a chance, plug the encoder on a set of "interruptable" I/O, the wiper to GND and use interrupt to triger the Encoder reading. end of the story.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Code:END SELECT oldState = newState GOSUB UpOrDn pause 100 ' <--- Have you removed this? endif ENDIF
Mr.Mister_E : Can not put the wiper to GND because of hardware ( http://www.picbasic.co.uk/forum/show...126#post113126 ).
Mr.Henrik : I remove already this line ; is better but not best.
I tried to ad a second check of direction :
But, in this way, any direction I rotate, the command is always "Dir Up" ?! Never goes "down" ...Code:loop: PortA.1 = 0 newState = PortA & 011100 ; this is for my hw : 11100 = 28 pause 50 ; no matter what I put here : none, @ nop , pause 100 ! newa = PortA & 011100 PortA.1 = 1 If newState <> 28 THEN If newState <> oldState THEN Select Case oldState Case 12 If NewState = 20 THEN if newa = 24 then dir=up endif case 12 If NewState = 24 THEN if newa = 20 then dir=dn endif Case 20 If NewState = 24 THEN if newa = 12 then dir=up endif Case 20 If NewState = 12 THEN if newa = 24 then dir=dn endif Case 24 If NewState = 12 THEN if newa = 20 then dir=up endif Case 24 If NewState = 20 THEN if newa = 12 then dir=dn endif END SELECT oldState = newstate GOSUB UpOrDn endif ENDIF
And what does the UpOrDn routine look like?
Bookmarks