How to prevent timer from executing code between two lines?
Show older comments
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?
Accepted Answer
More Answers (2)
Matthijs V.
on 18 Jan 2018
Edited: Matthijs V.
on 18 Jan 2018
Walter Roberson
on 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 Comment
Matthijs V.
on 18 Jan 2018
Edited: Matthijs V.
on 18 Jan 2018
Categories
Find more on Programming Utilities in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!