MATLAB serial timeout handling.
13 次查看(过去 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 中查找有关 Startup and Shutdown 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!