怎样在MATLAB中用fopen打开文件

scom=serial('COM3');
set(scom,'BaudRate',9600,'FlowControl','none','Timeout',0.1);
scom.InputBufferSize=1024;%输入缓冲区为256B,缺省值为512B
scom.OutputBufferSize=1024;%输出缓冲区为256B,缺省值为512B
scom.Timeout=0.5;%Y设置一次读或写操作的最大完成时间为0.5s,缺省值为10s
%s.ReadAsyncMode='continuous';%(缺省方式);%在异步通信模式方式下,读取串口数据采用连续接收数据(continuous
%)的缺省方式,那么下位机返回的数据会自动地存入输入缓冲区中.
fopen(scom);
A=fscanf(scom);%d’,[10,100]读串口
fprintf(scom);%s’,’RS232’,’async’
fclose(scom);%关闭串口设备对象
delete(scom);%删除内存中的串口设备对象
clear scom; %清除工作空间中的串口设

这是我们的串口函数,但是编译时出现错误
编译提示为Warning: A timeout occurred before the Terminator was reached.
??? Error using ==> serial.fprintf at 73
CMD must be specified.

Error in ==> chuankou2 at 11
fprintf(scom);%s’,’RS232’,’async’
不知道原因 做课题急用
哪位好心人帮帮忙 万分感谢

一、 MATLAB的fopen函数:打开指定文件
matlab中fopen函数在指定文件打开的实例如下:
“fopen”打开文件,赋予文件代号。
语法1:FID= FOPEN(filename,permission)用指定的方式打开文件
语法2:FID = fopen('E:\\test1.raw', 'r');
FID=+N(N是正整数):表示文件打开成功,文件代号是N.
FID=-1 : 表示文件打开不成功。
FID在此次文件关闭前总是有效的。
如果以读方式打开,matlab首先搜索工作目录,其次搜索matlab的其他目录,“permission”是打开方式参数。
打开方式参数由以下字符串确定:
r 读出
w 写入(文件若不存在,自动创建)
a 后续写入(文件若不存在,自动创建)
r+ 读出和写入(文件应已存在)
w+ 重新刷新写入,(文件若不存在,自动创建)
a+ 后续写入(文件若不存在,自动创建))
w 重新写入,但不自动刷新
a 后续写入,但不自动刷新
文件的存储格式:文件打开的默认方式是:二进制。以文本方式打开,可以在方式参数“permission”中加入“t”文件将,如“rt”,“wt+”
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-28
fscanf是从串口读数据到A;
那么fprintf是通过句柄向串口写数据,那么你这样使用fprintf(scom),不仅调用错误,而且也没指胆要写的数据.
你可以这么用:
fid = fopen(scom);
fprintf(fid,'%s','你傻X,不会将我送到串口去');
fclose(fid);本回答被网友采纳
相似回答