Tengo un pequeño problema con los punteros de función en un código para el microcontrolador Microchip Pic 18 Series.
El siguiente código muestra los prototipos de las funciones involucradas en el problema y una llamada a la función 'insert_task', que debe recibir la dirección de la función 'task1' por el parámetro 'task'.
Sin embargo, estoy depurando el código en Proteus Isis y el parámetro 'tarea' no recibe la dirección de la función pasada como argumento. Más específicamente, el parámetro 'tarea' no recibe nada.
¿Alguien puede ver un error en el código?
void insert_task(uint8 priority, type_t type, void (*task)());
void task1();
insert_task(0, 0, task1);
La siguiente pantalla de impresión muestra el campo "valor" del puntero "tarea" ("tarefa" en portugués) sin un valor durante la llamada de "insert_task" ("insere_tarefa" en portugués).