How to prevent timer from executing code between two lines?
Afficher commentaires plus anciens
Apparently, a TimerFcn execution can occur between any two lines. This is a major problem for me right now, as I want to push commands to a serial object and immediately query the response. However, since the timer function is also pushing commands, it can occur that between lines
fprintf(serialObj, 'Command');
reply = fscanf(serialObj);
the timer function also issues a command with fprintf to the same serial device. Consequently, the received reply is not necessarily from the command issued on the line before.
Therefore, how can I force the aforementioned two lines to execute consecutively, without the possibility of the timer function executing code between them?
Réponse acceptée
Plus de réponses (2)
Matthijs V.
le 18 Jan 2018
Modifié(e) : Matthijs V.
le 18 Jan 2018
Walter Roberson
le 18 Jan 2018
You can reduce the problem by literally putting the two statements on the same line:
fprintf(serialObj, 'Command'); reply = fscanf(serialObj);
I say reduce because the if whatever code you have on one line calls functions from .m or .p files (not sure about built-in) then the "between two lines" can apply with respect to the lines in the called functions.
1 commentaire
Matthijs V.
le 18 Jan 2018
Modifié(e) : Matthijs V.
le 18 Jan 2018
Catégories
En savoir plus sur Programming Utilities dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!