怎么用matlab读取串口数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用matlab读取串口数据?相关的知识,希望对你有一定的参考价值。

参考技术A s=serial(\'com1\');//设置串口
set(s,\'BaudRate\',9600,\'StopBits\',1,\'Parity\',\'none\',\'DataBits\',8,\'InputBufferSize\',255);
//串口的一些设置,注意,\'none\'有引号,有些值如InputBufferSize只能在串口关闭时才能设置,
//所以不建议先打开串口
fopen(s)//打开串口
fwrite(s,100);//打100(十进制)写入串口也可以是一维数组,可以用示波器测com的第3个引脚
a=fread(s);
//读出串口数据,由于matlab是顺序执行的,所以这里读不到100,
//程序会卡在这里直到读到数据为止,好像是存完buffer吧,这里忘了。
//自己从com的第2个引脚给数据试试看就清楚了
fclose(s);//关闭串口

怎么用matlab编写一个实验数据拟合的GUI界面程序,

能够调出文件读取框,读取一个存放在任意位置的数据文件(包括两列数据)

参考技术A 1、设计GUI,应该说明一下要求,比如界面上有哪些要素、可进行哪些操作;
2、函数cacupsnr好像并不是MATLAB自带的。
按照你的要求,帮你做了一个GUI,请见附件。简单说明几点:
(1)从你给GUI示意看,其实就是要把程序的运行过程分成几个步骤,分别由各按钮的回调函数来调用。这样会带来一个问题:各步骤之间的某些变量是存在依赖关系的,如果分成多个回调函数,这些变量的值怎样传递?比较直接的做法是用全局变量,或者使用GUI的某些对象作为数据容器,我这里采用了另外一种做法。
(2)我的做法是,把你原来的代码仍集中在一个函数中,但分成几个部分,执行哪一部分由输入参数flag决定。各步骤之间需要公用的数据定义为静态变量(persistent),可以保证多次调用该函数时这几个变量的值可以保持。
(3)把代码分成多个部分后,会导致有些操作存在顺序问题,例如,加载图像之前,是无法进行后续操作的,所以,根据各步骤的逻辑关系,在进行部分操作后,改变某些按钮的状态(Enable属性)。
(4)GUI上各控件和坐标系的tag懒得修改了,就用默认的。

以上是关于怎么用matlab读取串口数据?的主要内容,如果未能解决你的问题,请参考以下文章

MATLAB调用串口

matlab读串口数据问题

MATLAB如何保存串口读入的数据?

怎样在matlab中读取串口

matlab串口接收数据的问题

windows下怎么用C语言读取串口里的数据?