|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#1
|
||||
|
||||
|
Need Help with Encoder - Won't Count Clicks
I need help getting these encoder clicks to work in the 2005 FRC. It works fine in the demo encoder.hex. But I can't it to work with the current frc.
What am I doing wrong?? Thanks Adam |
|
#2
|
|||||
|
|||||
|
Re: Need Help with Encoder - Won't Count Clicks
I am not sure whats included inside of the 'Initialize_Encoders();' function, but I believe that you need to initialize the interrupts first by running function 'Initialize_Interrupts();' before you run 'Initialize_Encoders();' inside of function 'User_Initialization()', like so:
Code:
void User_Initialization (void)
{
...
Initialize_Interrupts();
Initialize_Encoders();
Putdata(&txdata); /* DO NOT CHANGE! */
...
}
|
|
#3
|
||||
|
||||
|
Re: Need Help with Encoder - Won't Count Clicks
Error - could not find definition of symbol 'Initialize_Interrupts' in file 'C:\FrcCode2005v2.4\user_routines.o'.
Errors : 1 ![]() |
|
#4
|
||||
|
||||
|
Re: Need Help with Encoder - Won't Count Clicks
Quote:
|
|
#5
|
|||||
|
|||||
|
Re: Need Help with Encoder - Won't Count Clicks
Sorry, thats just in my teams code I guess, I do not remember the default code, here is what the function looks like:
Code:
void Initialize_Interrupts(void)
{
// initialize external interrupt 1 (INT2 on user 18F8520)
TRISBbits.TRISB2 = 1; // make sure the RB2/INT2 pin is configured as an input [108]
//
INTCON3bits.INT2IP = 0; // 0: interrupt 1 is low priority (leave at 0 for IFI controllers) [91]
// 1: interrupt 1 is high priority
//
INTCON2bits.INTEDG2 = 1; // 0: trigger on the falling-edge [90]
// 1: trigger on the rising-edge
//
INTCON3bits.INT2IE = 1; // 0: disable interrupt 1 [91]
// 1: enable interrupt 1
// initialize external interrupt 2 (INT3 on user 18F8520)
TRISBbits.TRISB3 = 1; // make sure the RB3/CCP2/INT3 pin is configured as an input [108]
//
INTCON2bits.INT3IP = 0; // 0: interrupt 2 is low priority (leave at 0 for IFI controllers) [90]
// 1: interrupt 2 is high priority
//
INTCON2bits.INTEDG3 = 1; // 0: trigger on the falling-edge [90]
// 1: trigger on the rising-edge
//
INTCON3bits.INT3IE = 1; // 0: disable interrupt 2 [91]
// 1: enable interrupt 2
}
edit: - if you are adding the function, be sure to set the right interrupts you re using, and if not, make sure that they are set correctly as of now - How are "Get_Left_Encoder_Count();" and "Get_Right_Encoder_Count()" defined in your code? And what does your 'InterruptHandlerLow()' (inside of user_routines_fast.c) function include? Last edited by AIBob : 14-02-2005 at 21:40. |
|
#6
|
||||
|
||||
|
Re: Need Help with Encoder - Won't Count Clicks
EDIT: we got it working fine
Last edited by whakojacko : 16-02-2005 at 19:21. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| encoder vs. motor | stephenthe1 | Programming | 55 | 06-01-2005 22:07 |
| Updated Encoder Code Available | Kevin Watson | Programming | 2 | 04-01-2005 01:00 |
| Choosing an Encoder for the Drive-train | MikeDubreuil | Electrical | 11 | 21-10-2004 00:50 |
| quick question: TIMERS | Xufer | Programming | 58 | 18-03-2004 08:49 |
| how to add steps in the provided encoder program for the edu | Zaramel2002 | Programming | 3 | 11-02-2004 08:35 |