Hello,

I can't seem to find why the debugin does not time out after 200ms and jump to a label. I can set the port in the PowerOn_init section and drop to the debugin...but never jumps to the time out label....why? code is below.

INCLUDE "Modedefs.Bas"
DEFINE OSC 8
@ DEVICE PIC12F683, MCLR_OFF, HS_OSC, INTRC_OSC_NOCLKOUT,protect_off


DEFINE DEBUGIN_REG GPIO ' Set as software RX in
DEFINE DEBUG_BAUD 2400 ' Set bit rate
DEFINE DEBUGIN_BIT 0 ' Set GPIO bit 0
DEFINE DEBUGIN_MODE 1 ' Set Debugin mode: 0 = true, 1 = inverted


TRISIO = %00000001
ANSEL = %00000000
ADCON0 = 0
CMCON0 = 7 ' Disable comparator
VRCON = 0 ' CVreff = OFF
CCP1CON = %00001100 ' PWM mode
PR2 = 249 '
T2CON = %00000100 ' Start Timer2, Prescaller 1:1


Rudder VAR byte
Duty VAR WORD
PWM_ON CON %00001100
PWM_OFF CON 0


PowerOn_init:
GPIO = 0
CCP1CON = PWM_OFF
Duty = 0
CCPR1L = Duty
CCP1CON.5 = Duty.1
CCP1CON.4 = Duty.0
PAUSE 500 ' OSC settle delay
CCP1CON = PWM_ON ' turn on motor at low speed for 500ms
Duty = 50
CCPR1L = Duty
CCP1CON.5 = Duty.1
CCP1CON.4 = Duty.0
pause 500
Duty = 0
CCPR1L = Duty
CCP1CON.5 = Duty.1
CCP1CON.4 = Duty.0
pause 50
GPIO.4 = 1 ; set to test whether time out works for debugin.



Start:

debugin 200,Alloff,[wait (85), Duty, Rudder]


If duty < 10 then ' shut down throttle if threshold is too low
duty = 0
endif

CCPR1L = Duty ' PWM duty cycle
CCP1CON.5 = Duty.1
CCP1CON.4 = Duty.0

If Rudder = 192 then ' 11000000 rudder left
GPIO.5 = 1
else
GPIO.5 = 0
endif

If Rudder = 12 then ' 00001100 rudder right
GPIO.4 = 1
else
GPIO.4 = 0
endif

GOTO Start

Alloff:
duty = 0
CCPR1L = Duty ' PWM duty cycle
CCP1CON.5 = Duty.1
CCP1CON.4 = Duty.0
GPIO.4 = 0
GPIO.5 = 0
goto start