在我的項目中,我負責將一些MATLAB代碼遷移到C++。下面的代碼是指從計算機到微控制器的串行通信。函數CreatePackage
生成一個包,然後使用MATLAB的fwrite(serial)函數將其發送到微控制器。什麼是C++等價於這個MATLAB代碼?
function package = CreatePackage(V)
for ii = 1:size(V,2)
if V(ii) > 100
V(ii) = 100;
elseif V(ii) < -100
V(ii) = -100;
end
end
vel = zeros(1, 6);
for ii = 1:size(V,2)
if V(ii) > 0
vel(ii) = uint8(V(ii));
else
vel(ii) = uint8(128 + abs(V(ii)));
end
end
package = ['BD' 16+[6, vel(1:6)], 'P' 10 13]+0;
然後,發送包:
function SendPackage(S, Package)
for ii = 1:length(S)
fwrite(S(ii), Package);
end
如何創建在C++的陣列/矢量來表示在上面的MATLAB代碼中使用的變量package
?
我沒有使用MATLAB的經驗,所以任何幫助都會大大降低。
謝謝!
一個好的C++參考將展示如何使用'std :: vector'。 –
關鍵詞「C++ matlab array vector」的搜索應該顯示一些相關的例子。 –
我的主要疑問是該類型的矢量是什麼類型......整數,字符? – leandrocoutom