who i can write more then one value on port?

3 views (last 30 days)
im going to write more than one value on port but it s not working .it s just write tha values as one value.
global a;
a=serial('COM4');
setpoint=str2double(get(handles.s,'string'));
k=str2double(get(handles.k1,'string'));
i=str2double(get(handles.k2,'string'));
d=str2double(get(handles.k3,'string'));
fprintf(a,'%d',setpoint);
fprintf(a,'%d',k);
fprintf(a,'%d',i);
fprintf(a,'%d',d);
  2 Comments
Geoff Hayes
Geoff Hayes on 2 Jun 2019
Edited: Geoff Hayes on 2 Jun 2019
husman - please clarify what you mean by it's not working and it just writes the values as one value. Are you observing an error message? If so, what is it? Else describe where your above code is going wrong. Is it because you convert the strings to doubles? What are the data types for your variables? Do you need to cast these variables to signed integers?
husam alrajab
husam alrajab on 2 Jun 2019
Edited: husam alrajab on 2 Jun 2019
as you can see it s work but the values is the same for each value it s not write as Parallel
Before run it
after run it

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 2 Jun 2019
When you provide your own format to fwrite to serial, then no delimiter is added automatically. CR or LF will not be added between your values when your provide your own format. You need to code in an appropriate delimiter, possibly '%d\n' or '%d ' for the first several and '%d\n' for the last.
  3 Comments
husam alrajab
husam alrajab on 2 Jun 2019
Edited: husam alrajab on 2 Jun 2019
It's in another section . i make it in first press the Contact button in that button there is definition of serial and open the serial .
Before run it
after run it

Sign in to comment.

Categories

Find more on Arduino Hardware in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!