我正在使用matlab来读取串口设备的输出。当我运行命令fscanf
或fgets
并正确读取设备时,它会显示为:
!b, 3,-1532, -91, -159, -446, -996, 444, 488, 454,5050#
如果没有,它会吐出一些不完整的读数,例如:
, 454,5050#
或
50, -992, 444, 488, 454,5050#
我不确定问题可能是什么,以致读数不完整。可能是设备设置没有正确设置。我在循环中使用这些命令来获取在线读数,当读出不完整时,整个脚本崩溃。可能非常令人沮丧。请帮助=)
编辑:用于衡量的示例代码
`set(glove, 'InputBuffersize', 128);
set(glove, 'FlowControl', 'none');
set(glove, 'BaudRate', 115200);
set(glove, 'Parity', 'none');
set(glove, 'DataBits', 8);
set(glove, 'stopBit', 1);
set(glove, 'Timeout',100);
disp(get(glove,'Name'));
prop(1)=(get(glove,'BaudRate'));
prop(2)=(get(glove,'DataBits'));
prop(3)=(get(glove, 'StopBit'));
prop(4)=(get(glove, 'InputBufferSize'));
disp([num2str(prop)]);
fopen(glove);
test = fgets(glove);
fclose(glove);`