View Single Post
  #5   Spotlight this post!  
Unread 04-02-2008, 13:03
compwiz2008's Avatar
compwiz2008 compwiz2008 is offline
Registered User
FRC #2139
 
Join Date: Nov 2007
Location: Las Vegas, Nevada
Posts: 11
compwiz2008 is an unknown quantity at this point
Re: Random GTS output

Our Team is using the IFI Default Code and have the counter in user_routines_fast.c. We have the Gear Tooth Sensor plugged into rc_dig_in01 and are using the interrupt code that comes with the user_routines_fast.c default code.

Code:
#pragma code
#pragma interruptlow InterruptHandlerLow save=PROD /* You may want to save additional symbols. */

void InterruptHandlerLow ()     
{                               
  unsigned char int_byte;       
  if (INTCON3bits.INT2IF && INTCON3bits.INT2IE)       /* The INT2 pin is RB2/DIG I/O 1. */
  { 
    INTCON3bits.INT2IF = 0;
  }
  else if (INTCON3bits.INT3IF && INTCON3bits.INT3IE)  /* The INT3 pin is RB3/DIG I/O 2. */
  {
    INTCON3bits.INT3IF = 0;
  }
  else if (INTCONbits.RBIF && INTCONbits.RBIE)  /* DIG I/O 3-6 (RB4, RB5, RB6, or RB7) changed. */
  {
    int_byte = PORTB;          /* You must read or write to PORTB */
    INTCONbits.RBIF = 0;     /*     and clear the interrupt flag         */
  }                                        /*     to clear the interrupt condition.  */
  else
  { 
    CheckUartInts();    /* For Dynamic Debug Tool or buffered printf features. */
  }
}
Our Counter Code is:

Code:
if (rc_dig_in01 >0) {
counter = counter + 1;
}

Last edited by compwiz2008 : 04-02-2008 at 13:05. Reason: Added Counter Code