0
我想要從Matlab工作的視頻相機的實時視圖。視頻相機SDK是用C語言編寫的,所以我一直使用.dll來從Matlab到相機進行通信(我是一位自學成才的程序員,所以如果我的術語關閉,我很抱歉)。然而,對於實時視圖,我擔心,雖然Matlab正在從相機緩衝區讀取數據,但相機並不會意識到正在通過Matlab讀取數據,並繼續盲目地更新緩衝區。因此,我認爲握手機制是必需的,這是我遇到麻煩的地方。在MATLAB中接收來自C .dll文件的數據的握手
下面是概述我當前解決方案的僞代碼。我的問題是關於 兩個while()循環內的語句。我如何真正去檢查我正在使用的布爾值的狀態?我能想到的可能性需要將參數傳遞給多個函數並進行混淆。有更清潔的方法嗎?
//C-code
initCamera();
dataReadyForSend = false;
grabFrame();
dataReadyForSend = true;
while(dataReceivedByMatlab == false)
{ // Check status};
//repeat
現在的Matlab的一面:
% Matlab-code
dataReceieved = false;
while(waitForReadySignal() == false)
{ %Check status}
readDataFromC();
dataRecieved == true;
sendMessageOfSuccess(); %Tell C "I got the data"
謝謝
R.S.