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

MATLAB读取串口数据

(一)脚本

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

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

serial(S_P,'Parity','none','BaudRate',BaudRate1,'DataBits',8,'StopBits',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)

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

fopen(S)

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

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

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

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

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

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

fclose(s)

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

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

在这里插入图片描述

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

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

delete(instrfindall)

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

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

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

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

  • 17
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值