以下程序用于将ARM板上的串行数据读入Matlab,
obj1 = serial('COM9');
set(obj1, 'InputBufferSize', 6000);
fopen(obj1);
fprintf(obj1,'d');
Data = fscanf(obj1);
Data_num = str2num(Data);
fclose(obj1);
delete(obj1);
我的情况是 - 我正在阅读数字数据(包含5个字符,例如 - 0.257)。我设置了' InputBufferSize'到6000读取1000个数据点,因为如果没有提到大小,则显示错误。它适用于1000个数字数据点。
现在,我想从ARM板读取2000个数据点,因此我将“输入缓冲区大小”加倍。到12000但Data_num
只有1600个数据点。我甚至试过增加' InputBufferSize',但这没有帮助。
其次,我尝试使用4个字符的每个数字数据,它增加了数据点数据中的数据点数量。大约1800,但不是2000.我希望每个数据至少有5个字符。