我有一个模拟输入对象(winsound)在MATLAB中采样和执行音频任务。
set(AI, 'SamplesAcquiredFcnCount',num_samples)
set(AI, 'SamplesAcquiredFcn',{@function1,AI,num_samples})
我的理解是模拟输入对象只是继续采样,因此当样本达到设定数时, function1 会一直被调用。所以 它具有'优先级'。
现在我有另一个功能( function2 ),我想持续处理 function1 更新的(全局)变量。我的问题是,在我当前的实现中,function2不会“返回”并从模拟输入中查看更新的变量。
我想连续调用function2到一定的持续时间或条件,但是如何让它看到来自模拟输入功能的更新变量1 ? (它们已经是全局的,但是一旦function2开始,它就不会获得更新的变量,只有在它开始时才会获得它们。)
我试图在并行计算工具箱中查找一些东西来帮助我,但是没有找到任何东西。我非常感谢任何帮助!这将真正把我的项目拼凑起来
答案 0 :(得分:2)
最后,确保良好的并排操作的最佳方法就是在function1中调用function2。由于function1被很好地控制为模拟输入对象中的回调,因此这是最安全的方法。