Matlab使用串口通讯

(1)Matlab 串口通讯官网资料,里面很详尽的介绍了MATLAB中串口相关函数

https://cn.mathworks.com/help/instrument/serial-port-interface.html

(2)MATLAB 串口操作简易说明

1.按照串口名称创造串口类

s = serial('name'); %name是串口名称
2
.设置串口波特率

set(s,'BaudRate',rate); %rate是定义的比特率变量

3.打开串口
fopen(s);
4
.串口发数

fprintf(s,data); %data是要发送的字符串数据
5
.串口上接收的未读字节数

s.BytesAvailable
6
.读取串口上的数据

out = fscanf(s);
7
.关闭串口

fclose(s);
3)例程

1.串口发送数据

s = serial('COM1');
fopen(s)
s.ReadAsyncMode = 'continuous';
fprintf(s,'*IDN?')  
fclose(s)

2.当串口上接收到数据时读出数据:(最简单的,很需要改进)

s = serial('COM4');
fopen(s);
s.ReadAsyncMode = 'continuous';
while(1)
    if(s.BytesAvailable)
        out = fscanf(s)
    end
end
fclose(s);


(4)最后一点要说明的是关于MATLAB串口类 serial ,不能写入simulink 的function 模块中,问题为:

 the function block Matlab says:The 'serial' class does not support code generation:
就是说serial 类无法用 code generator 类进行转化。  


你可能感兴趣的:(Matlab微分方程组仿真)