[En-Nut-Discussion] Problem with GpioIrqEnable

Klaus Kloos klaus.kloos at gmx.de
Thu Mar 1 20:51:04 CET 2012


Hello Steve
> 
> 
>  Thanks for the reply.  The call to NutRegisterIrqHandler is inside Nut's
> GpioRegisterIrqHandler function below: 
> 
> int GpioRegisterIrqHandler(GPIO_SIGNAL * sig, int bit, void (*handler) (void
> *), void *arg)
> {
>    int rc = 0;
> 
>    if (sig->ios_vector == 0) {
>        /* This is the first call. Allocate the vector table. */
>        sig->ios_vector = malloc(sizeof(GPIO_VECTOR) * 32);
>        if (sig->ios_vector) {
>            memset(sig->ios_vector, 0, sizeof(GPIO_VECTOR) * 32);
>            /* Register our internal PIO interrupt service. */
>            rc = NutRegisterIrqHandler(sig->ios_sig, sig->ios_handler,
> sig->ios_vector);
Where is sig->ios_handler pointing to?
Are you able to set a breakpoint in this IRQ function? Is it called where the IRQ is enabled?

Greetings Klaus



More information about the En-Nut-Discussion mailing list