lily1202
2008-05-22, 19:29
我的问题其实就是用超级终端对串口实现的所有操作,是不是应该通过matlab都可以实现呢?
我现在根据控制器和超级终端的通讯方式可以实现matlab对串口数据的读取,也就是说在matlab中对串口写入参数地址,然后回车,串口就能将能参数值读进matlab,比方说用如下的形式:
fprintf(s,'%s','R0203')
fprintf(s,'%s','\r\n')
a = fscanf(s)
这里可以通过写入参数地址R0203读出温度值.
但其实我在超级终端上除了读参数值以外,还可以通过一些命令控制测量过程,比方说meas让测量过程开始,save可以将改变的参数值保存等等.
我现在的问题就是这些控制命令在超级终端上虽然好用,但为什么我根据超级终端的方式对matlab写入时,是无效命令呢?
比方说在超级终端上写入meas,然后回车,测量过程自动开始,而我同样对matlab进行如下写入时
fprintf(s,'%s','MEAS')
fprintf(s,'%s','\r\n')
b=fscanf(s)
就会报错 Illegal Command: MEAS\R
matlab的串口程序和超级终端是对同一个串口进行操作,为什么会有这种差别呢?难道matlab只能从串口里读出数据,而通过matlab控制串口进行具体指令操作(如开始测量等)是不行的呢?还是我的理解哪里有问题?
还请各位高手指教,谢谢!
我现在根据控制器和超级终端的通讯方式可以实现matlab对串口数据的读取,也就是说在matlab中对串口写入参数地址,然后回车,串口就能将能参数值读进matlab,比方说用如下的形式:
fprintf(s,'%s','R0203')
fprintf(s,'%s','\r\n')
a = fscanf(s)
这里可以通过写入参数地址R0203读出温度值.
但其实我在超级终端上除了读参数值以外,还可以通过一些命令控制测量过程,比方说meas让测量过程开始,save可以将改变的参数值保存等等.
我现在的问题就是这些控制命令在超级终端上虽然好用,但为什么我根据超级终端的方式对matlab写入时,是无效命令呢?
比方说在超级终端上写入meas,然后回车,测量过程自动开始,而我同样对matlab进行如下写入时
fprintf(s,'%s','MEAS')
fprintf(s,'%s','\r\n')
b=fscanf(s)
就会报错 Illegal Command: MEAS\R
matlab的串口程序和超级终端是对同一个串口进行操作,为什么会有这种差别呢?难道matlab只能从串口里读出数据,而通过matlab控制串口进行具体指令操作(如开始测量等)是不行的呢?还是我的理解哪里有问题?
还请各位高手指教,谢谢!