How to send data to the serial port 3 times

1 vue (au cours des 30 derniers jours)
George Francis
George Francis le 23 Avr 2016
Commenté : George Francis le 24 Avr 2016
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

Réponses (1)

Walter Roberson
Walter Roberson le 23 Avr 2016
a = [randi([0 9], 1, 5), neg];
x(end+1, :) = a;
fprintf(b, '%d %d %d %d %d %d\n', a);
  7 commentaires
Walter Roberson
Walter Roberson le 24 Avr 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.
George Francis
George Francis le 24 Avr 2016
I tried that again and it shows me different error and nothing came to Arduino.
Matlab code
clear all;
clc;
b = Bluetooth('HC-05', 1);
fopen(b);
x=[]; neg = 0;
for b=1:3
neg = neg - 1;
if (neg< -5)
neg = -1; %//wraparound
end
a = [randi([0 9], 1, 5) neg];
x(end+1,:) = a;
fprintf(b,'%d %d %d %d %d %d\n',a);
end
disp(a);
Matlab error
4 4 6 7 7 -1
2 6 6 1 1 -2
Error using fprintf
Invalid file identifier. Use fopen to generate a valid
file identifier.
Error in test4 (line 13)
fprintf(b,'%d %d %d %d %d %d\n',a);

Connectez-vous pour commenter.

Catégories

En savoir plus sur MATLAB Support Package for Arduino Hardware dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by