[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-libc-dev] [bug #12865] Global Interrupts Explicitly Enabled by SIGN
From: |
anonymous |
Subject: |
[avr-libc-dev] [bug #12865] Global Interrupts Explicitly Enabled by SIGNAL Macro |
Date: |
Thu, 28 Apr 2005 19:38:10 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 2.0.40607; .NET CLR 1.1.4322) |
URL:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12865>
Summary: Global Interrupts Explicitly Enabled by SIGNAL
Macro
Project: AVR C Runtime Library
Submitted by: None
Submitted on: Thu 04/28/2005 at 15:38
Category: Library
Severity: 3 - Normal
Priority: 5 - Normal
Item Group: None
Status: None
Privacy: Public
Percent Complete: 0%
Assigned to: None
Originator Email: address@hidden
Open/Closed: Open
_______________________________________________________
Details:
Unlike the INTERRUPT macro, the SIGNAL macro should not explicitly enable
global interrupts (sei). Here is an example of the failure.
41: SIGNAL(SIG_OVERFLOW1)
42: {
SEI Global Interrupt Enable <- HERE
PUSH R1 Push register on stack
PUSH R0 Push register on stack
IN R0,0x3F In from I/O location
PUSH R0 Push register on stack
CLR R1 Clear Register
PUSH R24 Push register on stack
PUSH R25 Push register on stack
PUSH R26 Push register on stack
PUSH R27 Push register on stack
...
...
RETI Interrupt return
Here is the description from the documentation.
#define SIGNAL ( signame )
Value:
void signame (void) __attribute__ ((signal)); \
void signame (void)
#include <avr/signal.h>
Introduces an interrupt handler function that runs with global interrupts
initially disabled.
_______________________________________________________
Carbon-Copy List:
CC Address | Comment
------------------------------------+-----------------------------
nicad2 --AT-- yahoo --DOT-- com | Originator Email
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=12865>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
- [avr-libc-dev] [bug #12865] Global Interrupts Explicitly Enabled by SIGNAL Macro,
anonymous <=