MATLAB调用串口

MATLAB调用串口,第1张

最新版matlab,现在推荐使用serialport *** 作,相较于原函数serial()更加简单,创建速度更快。

官方链接为:

https://ww2.mathworks.cn/help/matlab/ref/serialport.html

其中,port为端口号,baudrate为波特率,Name可选read、readline、write等等,具体参考链接。

按照我的理解,matlab中创建的串口为虚拟串口,退出即会抹除串口使用痕迹

通俗理解就是,matlab的.m程序运行结束后,这个串口发生过的事情不会在串口中留存

传统的串口调试助手退出时会保留串口状态

所以matlab中使用串口时,要在.m文件运行过程中进行一切 *** 作

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)//关闭串口

还是设定每隔开一秒进行一次读取的 *** 作

但是每次读的时候不限定读取的字节数,直接把缓冲区内的数据都读出来

然后取最后一个字节的数据作为当前数据

因为每次读取数据都会把缓冲区清空,所以只要缓冲区大小足够存下一秒内主机发送的全部数据,缓冲区就不会溢出。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7766499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存