Servo mg996r no quiere funcionar

Saludos amigos. Les cuento que tengo un problema que ya me tiene medio loco.
Resulta que tengo un programa en picbasic pro que funciona perfectamente con diferentes servos como el G5010 y el GWServo Ss03T.
Todos hacen lo que se les pide que haga a través del programa, que es el siguiente:
Código:
cmcon=7 ;digitaliza el puerto A
trisa=255 ;define el puerto A como entrada
trisb=0  ; define el puerto B como salida
R var byte
pulsador1 var porta.0
pulsador2 var porta.1
pulsador3 var porta.2
servo var portb.0

inicio:
if pulsador1=0 then goto espera3
if pulsador2=0 then goto espera1
if pulsador3=0 then goto espera2

goto inicio

espera3:
pause 1000
empuje:
    high servo
    pauseus 300
    low servo
    pauseus 10700
    if pulsador2=0 then goto espera1
goto empuje

espera1:
pause 1000
atras:
   high servo
   pauseus 2100
   low servo
   pauseus 8900
   if pulsador1=0 then goto espera3
   if pulsador3=0 then goto espera2
goto atras   

espera2:
pause 1000
fin:
for r=1 to 15
high servo
    pauseus 300
    low servo
    pauseus 10700
next
goto inicio
END
Uso el pic16f628A y los fuses los configuro a través del pickit2, pero no quiere funcionar el MG996r.
Pensé que me lo vendieron malogrado, pero luego uso este otro programa:

Código:
servo var portb.0

inicio:
;pause 500

;ida:
;high servo
;pauseus 300
;low servo
;pauseus 10700
;goto ida

;pause 3000

high servo
pauseus 2100
low servo
pauseus 8900


goto inicio
end
que si lo hace funcionar tanto para un lado como para el otro (cuando quito los puntos y comas y desactivo la otra parte).
Lo que me he dado cuenta amigos, es que no quiere funcionar cuando se usan los pulsadores (con los IF)
Tampoco quiere funcionar con el FOR.
¿Es que este servo tiene algo de especial para que funcione con los IF?

Saludos desde Lima-Perú.



Me olvidaba decirles que el servo lo he trucado para que funcione en forma continua.

Saludos.
 
Última edición por un moderador:
Atrás
Arriba