Hola, primero les muestro lo que tengo y luego lo explico:
Inicio llama a dos rutinas que andan perfecto.
El problema es que cuando activo Avance o Reversa (el que sea primero) se queda pegado.
Por más que esté todo en 0 o cambie de switch, sigue en la rutina que estaba.
Código:
Define Osc 4
Symbol P1 = PORTB.1
Symbol P2 = PORTB.2
Symbol P3 = PORTB.3
Symbol P4 = PORTB.4
Cambios Var Byte
Cambios = 0
Direccion Var Byte
Direccion = 0
TrisC = $00
Low PortC.0
Low PortC.1
Low PortC.2
Low PortC.3
Low PortC.4
Low PortC.5
High PortC.6
Low PortC.7
Inicio:
If P3 = 1 Then Call Avance
If P4 = 1 Then Call Reversa
Goto Inicio
Avance:
If p1 = 1 And Cambios < 9 Then Call Adelante
If p2 = 1 And cambios > 0 Then Call Atras
Goto Avance
El problema es que cuando activo Avance o Reversa (el que sea primero) se queda pegado.
Por más que esté todo en 0 o cambie de switch, sigue en la rutina que estaba.
Última edición: