2012-10-17 137 views
1

我有一個模擬輸入對象(winsound)在MATLAB中採樣並執行音頻任務。與模擬輸入功能一起使用其他功能

set(AI, 'SamplesAcquiredFcnCount',num_samples) 
set(AI, 'SamplesAcquiredFcn',{@function1,AI,num_samples}) 

我的理解是,模擬輸入對象只是不斷取樣,因此功能1當樣本達到設定的數量不斷被調用。所以它有'優先'。

現在我有另一個功能(函數2),我想連續處理的(全局)變量的功能1更新。我的問題是,在我目前的實現中,函數2不會「回來」並查看來自模擬輸入的更新變量。

我想不斷調用function2達到一定的持續時間或條件,但我該如何使它看到來自模擬輸入函數1的更新變量? (它們已經是全局的,但是一旦function2已經開始,它就不會獲得更新的變量,只能像它開始時那樣)。

我試過在並行計算工具箱中查看一些東西來幫助我,但還沒有找到任何東西。我非常感謝任何幫助!這將真正將我的項目組合在一起

回答

2

最後,確保良好的並排操作的最好方法就是調用function1中的function2。由於function1在模擬輸入對象中被很好地控制爲回調,所以這是最安全的方法。