send array from matlab using serial communication

hello, i need your help.
i want to send array from matlab to arduino using serial communication
here is my code
s1=serial('com1','BaudRate',9600)
fopen(s1)
A=[1,0,1,0,1,0]
fwrite(s1,A)
but it seems didnt work, because my arduino shows nothing. and can u help me how to print data which i sent?
regards,
yefta (<mailto:yeftadp@gmail.com yeftadp@gmail.com>)

 采纳的回答

Notice that fwrite() sends binary data. And note that unless you tell MATLAB otherwise, constants such as 0 and 1 are double precision numbers, which occupy 8 bytes.
Possibly you want
fprintf(s1, '%d', A)
that would send the character string '1' '0' '1' and so on.
You might also want to send a newline to end the line:
fprintf(s1, '\n');

4 个评论

what is the arduino code to receive this data in arduino. TIA
Hello @Walter sir, I have the same problem but in my case A may have integer values as well as decimal values. For example: A = [1.1,3,2.25,5]. How to send these values to arduino. Thanks
In the case where you know ahead of time which values will be integer, then something like,
fprintf(s1, '%f\n%d\n%f\n%d\n', A)
Otherwise,
fprintf(s1, '%g\n', A)
Thanks @walter Roberson for your reply. I used fprintf(s1, '%g\n', A) as you suggested but didn't get any output. I can't paste my whole code here so I open a new question for the same which link I'm giving here. It will be helful for me if you suggest solution to my problem. https://in.mathworks.com/matlabcentral/answers/336393-send-numerical-values-from-matlab-to-arduino
Thank you

请先登录,再进行评论。

更多回答(1 个)

hei Walter Roberson, you rock man
its work!! thankyou so much brother
regards,
yefta

类别

帮助中心File 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