我是靠谱客的博主 懦弱啤酒,最近开发中收集的这篇文章主要介绍MATLAB读取串口数据(一)脚本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制作串口调试工具的上位机。

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

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

最后

以上就是懦弱啤酒为你收集整理的MATLAB读取串口数据(一)脚本MATLAB读取串口数据的全部内容,希望文章能够帮你解决MATLAB读取串口数据(一)脚本MATLAB读取串口数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部