函数原型是
int alt_irq_register (alt_u32 id,
void* context,
void (*isr)(void*, alt_u32));
最后一部分是什么意思? *isr
在做什么?
答案 0 :(得分:5)
它是一个指向函数的指针。您必须使用函数作为alt_irq_register
函数的参数。例如:
void irq_handler(void *ptr, alt_u32 val) { /* my function */
/* I'm handling the interupt */
}
int alt_irq_register (alt_u32 id, void* context, void (*isr)(void*, alt_u32));
在您的代码中,您必须以这种方式使用alt_irq_register
函数:
/* your code */
ret = alt_irq_register(id, context_ptr, irq_handler);
/* other code */
我假设这个函数寄存器和中断处理程序,所以在注册过程中,你将向相关中断发生的函数传递给系统。
答案 1 :(得分:2)
它是一个指向函数的指针。该函数有两个参数(void*
和alt_u32
)并且不返回任何内容(void
)。其参数名称为isr
。