2

函数原型是

int alt_irq_register (alt_u32 id, void* context, void (*isr)(void*, alt_u32));

最后一部分是什么意思?在*isr做什么?

4

2 回答 2

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 */

我假设该函数注册和中断处理程序,因此在注册期间您将向系统传递相关中断发生时它必须使用的函数。

于 2013-05-19T23:57:27.847 回答
2

它是指向函数的指针。该函数接受两个参数 (void*alt_u32) 并且不返回任何内容 ( void)。它的参数名称是isr.

于 2013-05-19T23:38:33.463 回答