是否有可能从Matlab中的仪器回调函数获得输出?我正在读取发送到串行端口的数据,并在1个字节可用时触发回调函数
s=serial('COM3');
set(s,'BytesAvailableFcn',{@mycallback});
set(s,'BytesAvailableFcnCount',1);
set(s,'BytesAvailableFcnMode','byte');
我想在向量T
中记录每次回调的确切时间。我能够编写回调函数,这样我得到一个向量T,但我不知道访问T并且在脚本执行完毕后不会生成它。
我也可以在主脚本中生成此向量T,但我不确定如果回调发生>>如何设置条件。我以前认为我可以使用bytes=get(s,'BytesAvailable')
,如果bytes==1
我可以将时间记录在向量中。但bytes
只有一次值= 1,然后继续增长。
我知道有一个函数record
可以自动记录回调信息:
s.RecordMode = 'append';
s.RecordDetail = 'verbose';
s.RecordName = 'test.txt';
record(s)
然而,每当我尝试这个时,它都不会记录我想要的内容。虽然我将s.RecordDetail设置为verbose
,但如果我没有设置RecordDetail,则.txt中的输出是相同的。
有人对此有任何建议吗?
由于