How to send data to the serial port 3 times
3 views (last 30 days)
Show older comments
Hello I have to send some data to my arduino. Each line separetly. But It sends me some lines together. So where should I put function fprintf? The data in penultimate example are correct but I have to send each line separetly.
clear all;
clc;
b = Bluetooth('HC-05', 1);
fopen(b);
x=[]; neg = 0;
for a=1:3
neg = neg - 1;
if (neg< -5)
neg = -1; %//wraparound
end
x = [x; [randi([0 9], 1, 5) neg]]; %//addnewrowofrandomnumbers to x
a = num2str(x);
pause(5);
fprintf(b,a);
disp(a);
end
disp('all data');
disp(a);
Disp(a) in for function
1 5 4 0 3 -1
1 5 4 0 3 -1
1 7 3 5 1 -2
1 5 4 0 3 -1
1 7 3 5 1 -2
6 2 6 6 7 -3
Disp(a) in the end of program
1 5 4 0 3 -1
1 7 3 5 1 -2
6 2 6 6 7 -3
When I have fprintf in for function it show me. First line is correct others not.
0 5 8 6 1 -1
03 54 89 61 18 --12
036 543 891 614 184 ---123
0 Comments
Answers (1)
Walter Roberson
on 23 Apr 2016
a = [randi([0 9], 1, 5), neg];
x(end+1, :) = a;
fprintf(b, '%d %d %d %d %d %d\n', a);
7 Comments
Walter Roberson
on 24 Apr 2016
Replace
x = [x; [randi([0 9], 1, 5) neg]]; %//addnewrowofrandomnumbers to x
a = num2str(x);
pause(5);
fprintf(b,a);
with
a = [randi([0 9], 1, 5), neg];
x(end+1, :) = a;
fprintf(b, '%d %d %d %d %d %d\n', a);
If that does not work, I need to see the exact error message and the current version of your code.
See Also
Categories
Find more on MATLAB Support Package for 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!