当前位置:   article > 正文

MATLAB读取串口数据(一)脚本

matlab读取串口数据

MATLAB读取串口数据

(一)脚本

今天我们来介绍如何编写在matlab中编写脚本来读取串口数据。

matlab中内置了串口功能函数,我们在使用时只需要调用函数进行相应配置即可,我们来看串口函数。

serial(S_P,'Parity','none','BaudRate',BaudRate1,'DataBits',8,'StopBits',1)
  • 1

这个函数用来对串口进行设置,其中S_P为端口号,如COM1、COM2等,‘Parity’后面为校验位,一般为none,'BaudRate’后面位波特率,'DateBits’后面为数据位,一般为8,'StopBits’后面为停止位,一般为1。

后面还可以加入读取的字节数,我们这里在下面进行设置。

接下来我们将这个设置好的串口命名为S,可以直接进行设置:

S=serial(S_P,'Parity','none','BaudRate',BaudRate1,'DataBits',8,'StopBits',1)
  • 1

下面我们来打开这个串口:

fopen(S)
  • 1

我们先运行这两行脚本,成功之后在命令行窗口中可以看到相应的信息:

在这里插入图片描述
读取串口数据的命令为fread和fscanf两个,其中fcanf为读取字符串,我们这里来读取字符串。

a=fscanf(s,'String',255)
  • 1

这里有三个参数,第一个为串口名称,第二个为匹配的数据类型,第三个为接收的字节数。
我们来运行一下。

在这里插入图片描述可以看到a的值与串口助手中接收的数据一致,为从1到10,再从10到1.
在这里插入图片描述
最后,一定要注意在使用完串口后关闭串口,否则将无法使用。如果我们不关闭想要再次打开,就会出现这种情况:

在这里插入图片描述这是因为串口已经被占用,就算用串口助手也无法打开这个串口。
所以要使用关闭串口的函数来进行关闭:

fclose(s)
  • 1

里面的参数为要关闭的串口名称。

如果打开的串口比较多,或者我们不知道要关闭哪些串口,我们可以使用’instrfind’命令来查看各个端口的状态。

在这里插入图片描述

我们可以看到’COM4’被打开。

也可以直接将所有打开的串口全部关闭。

delete(instrfindall)
  • 1

今天的分享就这些了,希望大家及时学习。

下期预告:
利用GUI制作串口调试工具的上位机。

##以上就是本节的全部内容,后续内容会逐渐上传,相关源码也会统一上传,也可以到公众号私聊我要。

##不足之处请及时指出,相互学习

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/182633
推荐阅读
相关标签
  

闽ICP备14008679号