foxselina
2008-06-05, 14:30
这是一个简单的程序:
s=serial('com1');
set(s,'baudrate',9600);
fopen(s);
fprintf(s,'Hello, World!');
s.status
fclose(s);
s.status
delete(s);
clear s;
在这之前,我用SerialNull虚拟了一个COM2,同COM1相连,并用串口调试助手V2.2来打开COM2。
但运行结果总是:
??? Error using ==> serial.fprintf
A timeout occurred during the write operation.
Error in ==> Try at 4
fprintf(s,'Hello, World!');
但此时在串口调试助手上已经显示:Hello, World!
我不知道这个timeout是什么意思,在这种波特率下,在默认的10秒钟内还传不完吗?我怀疑是terminator设置有异,使程序不能判断数据是否传输完成;因为我把能查出来的属性都对了一遍,只有这个属性在串口调试助手上没有说明——MATLAB默认值是'LF'。
我也搞不清这个timeout的作用。
请高手指教!
s=serial('com1');
set(s,'baudrate',9600);
fopen(s);
fprintf(s,'Hello, World!');
s.status
fclose(s);
s.status
delete(s);
clear s;
在这之前,我用SerialNull虚拟了一个COM2,同COM1相连,并用串口调试助手V2.2来打开COM2。
但运行结果总是:
??? Error using ==> serial.fprintf
A timeout occurred during the write operation.
Error in ==> Try at 4
fprintf(s,'Hello, World!');
但此时在串口调试助手上已经显示:Hello, World!
我不知道这个timeout是什么意思,在这种波特率下,在默认的10秒钟内还传不完吗?我怀疑是terminator设置有异,使程序不能判断数据是否传输完成;因为我把能查出来的属性都对了一遍,只有这个属性在串口调试助手上没有说明——MATLAB默认值是'LF'。
我也搞不清这个timeout的作用。
请高手指教!