|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#4
|
||||
|
||||
|
Re: Problem with interrupts on the PIC
Jim,
Thank you. Your input is basically the same as IFI gave me... My bad for not reading the C compiler manual more closely. One of the issues is that your pragma fragment, the default code and the Timers White Paper is that all use: #pragma interrupt InterruptHandlerLow However, section 2.9.2 of "MPLAB® C18 C COMPILER USER’S GUIDE" indicates that #pragma interruptlow InterruptHandlerLow is the correct pragma to use. Otherwise, both high and low will use the same shadow registers and a high priority interrupt will eventually interrupt the low priority and trash your context. Once again, thanks for your help. Mike Larry, In addition to my comment above, please be sure that you read section 2.9.2 in it's entirety. Specifically, I quote: "If an interrupt service routine calls another function, the normal functions' temporary data section (which is named .tmpdata) should be saved using a save=section(".tmpdata") qualifier on the interrupt pragma command." In your case, the pragma in User_Routines_Fast.c needs to be: #pragma interruptlow InterruptHandlerLow save=section(".tmpdata") I hope this fixes your glitching problem. It did for me... |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Victor problem | Andy Baker | Electrical | 15 | 24-06-2003 09:49 |
| Ok one problem | cantwell03 | Programming | 3 | 13-02-2003 07:28 |
| The problem with scouting... | archiver | 2001 | 10 | 23-06-2002 23:49 |
| Major problem with chipphua motors | aka Scott White | Motors | 18 | 19-03-2002 19:44 |