如何从回调函数获取输出?

时间:2016-04-05 16:07:33

标签: matlab time callback serial-port serial-communication

是否有可能从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中的输出是相同的。

有人对此有任何建议吗?

由于

0 个答案:

没有答案