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

関数へのポインタです。この関数は 2 つの引数 (void*alt_u32) を取り、何も返しません ( void)。そのパラメータ名はisr.

于 2013-05-19T23:38:33.463 に答える