Why am I getting "Internal error: The initialization of the server code is incorrect" while trying to connect Arduino Mega2560 with MATLAB?

97 次查看(过去 30 天)
Why am I getting "Internal error: The initialization of the server code is incorrect" while trying to connect Arduino Mega2560 with MATLAB using "arduino" command on Windows 10?

采纳的回答

MathWorks Support Team
This issue might occur if the hardware is not getting reset correctly because of the smaller delay time.
The issue can be resolved by changing the "delayValue" to 10 in "getResetDelayHook()" in "arduino.m". The file can be found by executing the following code snippet in the MATLAB Command Window:
which -all arduino
The code for the method getResetDelayHook() in "arduino.m" looks like the following:
function delayValue = getResetDelayHook(obj)
% workaround for Arduino Mega on Linux taking longer time to reset, explained in g1638539
if(obj.ConnectionType==matlabshared.hwsdk.internal.ConnectionTypeEnum.Serial)
if ispc || ismac
delayValue = 2;
else
delayValue = 10;
end
else
%The reset on the DTR line is via Serial only
delayValue = 0;
end
end
Change the value of delayValue inside the if statement (if ispc ismac) to 10. This will give the board more time to get reset and after that connection can be established.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB Support Package for Arduino Hardware 的更多信息

标签

产品


版本

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by