How to prevent timer from executing code between two lines?
Mostrar comentarios más antiguos
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?
Respuesta aceptada
Más respuestas (2)
Matthijs V.
el 18 de En. de 2018
Editada: Matthijs V.
el 18 de En. de 2018
Walter Roberson
el 18 de En. de 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 comentario
Matthijs V.
el 18 de En. de 2018
Editada: Matthijs V.
el 18 de En. de 2018
Categorías
Más información sobre Programming Utilities en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!