How to prevent timer from executing code between two lines?
이전 댓글 표시
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?
채택된 답변
추가 답변 (2개)
Matthijs V.
2018년 1월 18일
편집: Matthijs V.
2018년 1월 18일
Walter Roberson
2018년 1월 18일
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
Matthijs V.
2018년 1월 18일
편집: Matthijs V.
2018년 1월 18일
카테고리
도움말 센터 및 File Exchange에서 Programming Utilities에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!