MATLAB用来实现串口通信

由于MATLAB中提供了仪表仪器通信的功能,所以MATLAB可以用来实现串口通信。

1、要实现串口通信,第一步必须要创建一个串口对象,MATLAB中提供了serial函数来创建一个串口对象。具体用法为:

object = serial('port'......);%其中object为串口的一个句柄

串口中的参数有很多例如:parity 校验方式;databits 数据位;stopbits 停止位等。
MATLAB设置串口对象后,还要对它的属性进行设置:
object.InputBufferSize = 1024;%设置输入缓冲区的大小
object.OutputBufferSize = 1024;%设置输出缓冲区的大小
object.Timeout = 0.5;%设置一次写入或者读入操作完成最大时间为0.5s时间单位为秒。
object.BytesAvailableFcnMode = ‘byte’;% 设置读入文件的格式为二进制。
object.BytesAvailableFcn = @fcntion_callback;%设置串口执行的回调函数(这个属性比较重要);
2、建立好串口的对象后,要使用它需要将串口对象打开。具体操作为:

fopen(object);% 将串口对象打开

3、将串口打开之后要想与串口进行通讯,这时候就需要发送握手命令给串口,与串口进行连接。具体操作:

fwrite(object,......);% 握手信号根据协议或者其他信息的差异会不同

由于我选择读取数据的方式为二进制文件的方式,所以使用fwrite函数来发送信息。如果是文本文件时写入串口的函数使用fscanf函数来完成。
4、当我们与串口建立联系之后就可以向串口读取信息了。具体使用的方法:

data = fread(object,10);% 向串口读取10个数据,这里的数据根据需求可以进行改动

5、当我们需要关闭工程或者是停止通讯时,需要将串口关闭或者清除串口对象。具体的用法是:

fclose(object); % 关闭串口对象
delete(object); % 删除内存中的串口对象

或者你感觉这样很麻烦,这里有一个更加直接的方法:在主工程界面中的关闭函数中使用clear all;语句来关闭所有的缓存,使用close all;关闭所有的窗口,然后在回调函数中调用关闭函数。

你可能感兴趣的:(Matlab,matlab)