在我的项目中,我负责将一些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