我必须创建这个数组(下面的例子),然后将每一行发送到我的arduino separetly。
Example
7 0 2 0 0 -1
8 6 3 9 0 -2
4 3 7 7 1 -3
4 4 6 7 7 -4
2 6 6 1 1 -5
4 9 3 5 2 -1
创建此数组的Matlab程序
b = Bluetooth('HC-05', 1);
fopen(b);
x=[]; neg = 0;
for a=1:6
neg = neg - 1;
if (neg < -5)
neg = -1; %//wrap around
end
x = [x; [randi([0 9], 1, 5) neg]]; %//add new row of random numbers to x
fprintf(b,a);
disp(x);
end
disp('End');
disp(x);
问题在于,当我将fprintf函数放入其中时,它只向我发送正确形式的第一行,其他所有在一起。输出arduino:
0 5 8 6 1 -1
03 54 89 61 18 --12
036 543 891 614 184 ---123
etc.
显示函数显示程序运行超过6次。
7 0 2 0 0 -1
7 0 2 0 0 -1
8 6 3 9 0 -2
7 0 2 0 0 -1
8 6 3 9 0 -2
4 3 7 7 1 -3
etc.
最终以正确的形式显示数据。
End
7 0 2 0 0 -1
8 6 3 9 0 -2
4 3 7 7 1 -3
4 4 6 7 7 -4
2 6 6 1 1 -5
4 9 3 5 2 -1
所以我认为我有两个选择。创建不同的数组方式。或者在程序结束时拆分整个数组,然后逐行发送每一行。但我不知道该怎么做。所以,你们可以帮助我,我真的很鄙视。