获取数据在后台与实时情节更新
这个例子展示了如何在MATLAB继续运行时使用回调在后台获取数据。
后台获取使用回调来允许您的代码在硬件获取数据时访问数据,或者在发生错误时对其做出反应。在本例中,您将从一个带有ID的麦克风获取数据Audio1
使用ScansAvailableFcnCount
属性定义的函数调用ScansAvailableFcn
财产。使用回调允许在获取过程中实时更新情节。
获取设备列表,以便识别想要使用的麦克风。这里的部分列表表示设备ID。
daqlist
VendorID的DeviceID描述 _____________ ________ ________________________________________________________________ " 声音处理软件”“Audio1”“声音处理软件耳机麦克风(Plantronics BT600)”
创建一个声音处理软件
打开麦克风输入通道的数据采集对象Audio1
。你可能需要使用不同的设备。
d =采集(“声音处理软件”);ch = addinput (d,“Audio1”, 1“音频”);
创建一个简单的回调函数来绘制获取的数据并将其保存为plotMyData.m
在您当前的工作文件夹中。在文件中输入以下代码。
函数plotMyData (obj evt)% obj是传入的DataAcquisition对象。不使用Evt。data =阅读(obj obj。ScansAvailableFcnCount,“OutputFormat”,“矩阵”);情节(数据)结束
设置DataAcquisition对象的回调函数属性以使用您的函数。
d.ScansAvailableFcn = @plotMyData;
在后台启动采集运行5秒。
开始(d,“持续时间”秒(5))
对着麦克风说话,看剧情。它每秒更新10次。