In meinem Projekt bin ich für die Migration von MATLAB-Code nach C++ verantwortlich. Der folgende Code bezieht sich auf die serielle Kommunikation von einem Computer zu einem Mikrocontroller. Die Funktion CreatePackage
erzeugt ein Paket, das dann mit MATLABs fwrite (seriell) Funktion an den Mikrocontroller gesendet wird.Was entspricht das C++ diesem MATLAB-Code?
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;
Und dann, um das Paket zu senden:
function SendPackage(S, Package)
for ii = 1:length(S)
fwrite(S(ii), Package);
end
Wie kann ich ein Array/Vektor in C++ zu erstellen, die package
Variable in dem obigen Code MATLAB verwendet zu vertreten?
Ich habe keine Erfahrung mit MATLAB, so würde jede Hilfe sehr geschätzt werden.
Vielen Dank!
Eine gute C++ - Referenz zeigt, wie man 'std :: vector' verwendet. –
Eine Suche im Internet nach Schlüsselwörtern "C++ Matlab Array Vector" sollte einige relevante Beispiele zeigen. –
Mein Hauptzweifel ist, welcher Typ wäre dieser Vektor ... ganze Zahl, char? – leandrocoutom