Ripetere una funzione ogni qual volta succede un determinato evento?

inverter1994
Salve a tutti, ragazzi. Innanzitutto ci tengo a precisare che non so se posso ricevere aiuto o, meglio dire, se ho postato sulla sezione adatta, ma ci provo, perchè su questo problema sto sbattendo veramente la testa da giorni. Uso la piattaforma Mbed per programmare, che sarebbe una sorta di C++, più alto livello, ma magari il problema è più generale. In pratica sto facendo campionamento e varie operazioni su un segnale e tutte queste operazioni devono essere innescate ogni qual volta si ha un trigger, ovvero un evento, che, tradotto in soldoni, sarebbe quando il segnale che acquisisco raggiunge un certo valore con una certa pendenza. questa cosa sono riuscito a implementarla con un "Trigger software":

if((data_in>TRIG_LEVEL)&&(buffer[i-1] start=true;
e poi nel main si usa la funzione "attach" che dipende dal ticker con cui faccio il campionamento (non so se ne avete mai sentito parlare di queste funzioni). IL mio grande problema è questo: con la mia imolementazione il sistema inizia a fare questa serie di operazioni quando effettivamente si raggiunge la condizione di start=true, ma poi vorrei che ripetesse tutto OGNI QUAL VOLTA si raggiunga di nuovo questa condizione, cioè ogni qua volta si ha di nuovo un "colpo" sul segnale, mentre come l'ho fatto io, dopo che è accaduto la prima volta, il sistema si "addormenta". Mi sono rivisto tutti gli appunti dei corsi di programmazione ma non riesco a venirne a capo, il prof si è solo limitato a dire che devo usare un altro attach :( . Ribadisco di nuovo che magari dovevo metterlo nella sezione ingegneria, ma a me sembra un problema informatico, ergo chiedo in anticipo scusa agli admin in caso di errore e ringrazio in anticipo chi vorrà aiutarmi, anche magari con un input.

Risposte
apatriarca
Non ho mai sentito partlare del linguaggio di cui parlo e faccio un po' fatica a seguire cosa stai cercando di fare esattamente. Di solito, se hai assegnato una qualche funzione ad un trigger e vuoi che venga eseguita più volte, devi associare nuovamente la stessa funzione alla fine della sua esecuzione. Ma sarebbe più semplice vedere qualche cosa di più.

inverter1994
Dopo tre giorni di disperazion più totale, finalmente la soluzione è uscita! Mi è bastato fare un altro controllo con una variabile booleana che passasse a true ogni volta che il segnale superasse la logica del trigger e...attivare questo controllo con un attach.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.