MATLAB serial timeout handling.
14 ビュー (過去 30 日間)
古いコメントを表示
A have a "default"-configured serial port. How do I implement timeout error handling?
If I do something like this:
try
fread(SerialObject, 1, 'uint8');
catch err
myError(err)
end
it does not read that as an error (never executes catch block).
What is the proper way to handle it in this situation?
0 件のコメント
回答 (2 件)
Chirag Gupta
2011 年 7 月 22 日
The Timeout is a warning and hence you are unable to catch it. Searching a little, I found a couple of references that might be helpful:
http://www.mathworks.com/matlabcentral/newsreader/view_thread/158768 http://blogs.mathworks.com/loren/2006/10/18/controlling-warning-messages-and-state/
May be something like this:
lastwarn('');
try
fread(s)
if(~isempty(lastwarn))
error(lastwarn)
end
catch err
err
end
0 件のコメント
Chirag Gupta
2011 年 7 月 22 日
Use the ErrorFcn callback http://www.mathworks.com/help/releases/R2011a/techdoc/matlab_external/timeout.html
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で Graphics Object Programming についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!