David
In addition to the other responses, is the following what you
intended elsewhere?
if ((Raw_Data_Size == 0) && !(GICR & (1 << INT0)))
(note usage of '==' and '&&')
You might also want to revisit the following:
GICR |= (1<<INT0)|(0<<INT1);
It might be what you want but, for reference is equivalent to
GICR |= (1<<INT0);
Regards
-Bill Knight
R O SoftWare
David VanHorn wrote:
> I'm using GCC.
>
> When I comment out the first Debug_Port line, the debug pin does not go high.
> When I leave it in, the debug pin goes high, but never goes low.
> Am I missing something special I have to do to exit an ISR?
>
> // Timer 0 overflow ISR
> ISR(TIMER0_OVF_vect)
> {
> Debug_Port |= (1 << Debug_Pin); // High
>
> // Dec to zero timer
> if (LCD_Timer > 0)
> {
> LCD_Timer--;
> }
>
> if ((Raw_Data_Size = 0) & !(GICR & (1<< INT0))) //
> // If the summer is finished, and sampling is disabled
> {// enable sampling
> GICR |= (1<<INT0)|(0<<INT1); // Enable eampling
> Raw_Edge_Flag = 0; // Looking for the start of a pulse
> }
>
> Debug_Port |= (0 << Debug_Pin); // Low
> }
>Message
Re: [AVR-Chat] ISR not exiting?
2009-02-24 by Bill Knight
Attachments
- No local attachments were found for this message.