hey guys can you help me with this.

1 次查看(过去 30 天)
i'm going to print four variable on serial in fact when i run it ;it going to write this four variable in one value . my question is who to print more than one variable on serial and send it to arduino to use it in the same time.this is my matlab gui codes.
global a;
a=serial('COM4');
setpoint=str2num(get(handles.s,'string'));
aggkp=str2num(get(handles.k1,'string'));
aggki=str2num(get(handles.k2,'string'));
aggkd=str2num(get(handles.k3,'string'));
fprintf(a,'%d',setpoint);
fprintf(a,'%d',aggkp);
fprintf(a,'%d',aggki);
fprintf(a,'%d',aggkd);

采纳的回答

Mark Sherstan
Mark Sherstan 2019-5-17
If you need to run all of that at the same time you need to run miltiple threads. Check out the Parallel computing toolbox for more information: https://www.mathworks.com/products/parallel-computing.html
I see you are running a PID controller so I would first check how long each of these tasks are actually taking using the profiler. If printing, writing, and updating the GUI is faster than you can acquire data and/or actuate your controller, then there is no need to run everything at the same time.
  3 个评论
Mark Sherstan
Mark Sherstan 2019-5-17
Look at the Simulink support package for Arduino. You can achieve fantastic control with all the built in Simulink controllers. This link should get you started, you can even run in real time.

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by