关于MATLAB读取端口数据的问题
我想用MATLAB编写程序读取传感器出来的数据,端口协议是96008n1端口是com3,8个数据读取出来要处理一次,例如求平均然后画出随时间变化曲线,但是我用度娘搜索出来...
我想用MATLAB编写程序读取传感器出来的数据,端口协议是9600 8 n 1 端口是com3,8个数据读取出来要处理一次,例如求平均然后画出随时间变化曲线,但是我用度娘搜索出来的代码不可用
展开
展开全部
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);//关闭串口
//其他命令
instrfind//列出当前的串口,和状态
delete(instrfind)//删除串口这和关闭串口有区别,我想你应该清楚什么是删除吧
fclose(instrfind)//关闭串口
个人写过matlab的串口GUI,很不好用建议用VC 的mfc写,他可以实时监控
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);//关闭串口
//其他命令
instrfind//列出当前的串口,和状态
delete(instrfind)//删除串口这和关闭串口有区别,我想你应该清楚什么是删除吧
fclose(instrfind)//关闭串口
个人写过matlab的串口GUI,很不好用建议用VC 的mfc写,他可以实时监控
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询