Problemi con puntatore su vettore interrupt

Pensavo tu passassi tutta la struttura. Quel che ho detto io è in generale sul passaggio di strutture come parametri.
Nel tuo caso specifico CREDO di aver capito.

task_data.functionPointer(task_data.parameterPointer);
stai passando un parametro come pointer ad una variabile che è già pointer
mentre
uint8_t params[2] = {1,0};
task_data.functionPointer(params);
passi un puntatore

nel secondo caso puoi leggere subito i parametri mentre nel secondo devi ulteriormente usare l'indirizzo.
nel primo caso è come se tu usassi un uint8_t* * pointer a pointer