|
void irq_handler(void) __attribute__((naked));
void irq_handler(void){
asm("stmfd sp!, {r0-r12, lr}");
void (*interrupt_function)();
unsigned int vector;
vector = VICVectAddr;
interrupt_function = (void(*)())vector;
(*interrupt_function)();
VICVectAddr = 0;
asm("ldmfd sp!, {r0-r12, lr}");
asm("subs pc, lr, #4");
}
E-mail: info@telesys.ru