AN2109 Freescale Semiconductor / Motorola, AN2109 Datasheet - Page 44

no-image

AN2109

Manufacturer Part Number
AN2109
Description
MPC555 Interrupts
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
void Ext_Isr()
{
#define IRQ0 0x80000000
#define LEVEL0 0x40000000
#define IRQ1 0x20000000
#define LEVEL1 0x10000000
#define IRQ2 0x08000000
#define LEVEL2 0x04000000
#define IRQ3 0x02000000
#define LEVEL3 0x01000000
#define IRQ4 0x00800000
#define LEVEL4 0x00400000
#define IRQ5 0x00200000
#define LEVEL5 0x00100000
#define IRQ6 0x00080000
#define LEVEL6 0x00040000
#define IRQ7 0x00020000
#define LEVEL7 0x00010000
UINT32 int_value = 0 ;
asm (" mtspr EID, r0 ");
int_value = USIU.SIPEND.R ;
while (int_value != 0)
if (int_value&IRQ0)
else if (int_value&LEVEL0)
else if (int_value&IRQ1)
else if (int_value&LEVEL1)
else if (int_value&IRQ2)
else if (int_value&LEVEL2)
else if (int_value&IRQ3)
else if (int_value&LEVEL3)
else if (int_value&IRQ4)
else if (int_value&LEVEL4)
else if (int_value&IRQ5)
{
{
}
{
}
{
}
{
}
{
}
{
}
{
}
{
}
{
}
{
}
{
int_value &= ~IRQ0 ;
int_value &= ~LEVEL0 ;
int_value &= ~IRQ1 ;
int_value &= ~LEVEL1 ;
int_value &= ~IRQ2 ;
int_value &= ~LEVEL2 ;
int_value &= ~IRQ3 ;
int_value &= ~LEVEL3 ;
int_value &= ~IRQ4 ;
int_value &= ~LEVEL4 ;
int_value &= ~IRQ5 ;
Freescale Semiconductor, Inc.
For More Information On This Product,
Rev. 0, 26 July 2001
MPC555 Interrupts
Go to: www.freescale.com
// Start with null value
// Set MSR.RI - now recoverable
// Get SIPEND Value
//Loop until all ints handled
MOTOROLA
44

Related parts for AN2109