以下指南展示了如何使用 matlab 打开和读取串口:
它是这样完成的:
s = serial('COM1');
fopen(s)
fprintf(s,'*IDN?')
idn = fscanf(s);
fclose(s)
我有一个程序可以不断获取串行输出并绘制它:
figure
s = serial('COM11');
fopen(s)
while(true)
if (strcmp(comsStatus, 'open') == 1)
tline(i) = str2num(fgetl(s));
i = i+1
plot(tline(1:i-1))
drawnow
end
end
fclose(s)
我想做的是自动跳出while循环。但是似乎没有一个简单的迹象表明该系列何时停止播放。fgetl(s) 部分将等到某些事情真正通过。有没有办法让这个超时?有一个更好的方法吗?