matlab读取串口数据并显示曲线
**** Hidden Message *****%%%%%%%%%%%%%%%%%%%%%%%%串口接收函数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%thomas1847,2007.1.22%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%注:查询方式
function serialcomm
web -browser
clear;clc; %清除变量
g=serial('com1'); %创建串口对象
g.baudrate=2400; %设置波特率,缺省9600bit/s
g.parity='none'; %无奇偶校验
g.stopbits=1; %停止位
g.timeout=0.5; %设置读操作完成时间为1s,缺省10s
g.inputbuffersize=256; %输入缓冲区为32b,缺省值为512b
%设置
recbuf=zeros(1,40); %清接收缓冲区(40)
framelen=23; %帧长度(每帧23byte)
framenum=0; %清接收帧数
rectr=0; %接收计数器清零
xctr=0;
%输入接收的数据帧数
recnum= input('请输入要接收的数据帧数:\n'); %输入接收帧数 %清
%打开串口设备
fopen(g); %打开串口设备对象g
%进入接收循环
while framenum<recnum %
recdta=fread(g,1,'uint8'); %读入数据
if recdta==255 %找帧头
rectr=rectr+1; %接收计数器加1
recbuf(rectr)=recdta; %送入接收缓冲区
elseif recdta==framelen&rcbuf(1)==255 %验证接收长度和帧头
framelen=recdta; %取帧长度
rectr=rectr+1; %接收计数器加1
recbuf(rectr)=recdta; %送入接收缓冲区
elseif rectr>1&rectr<framelen %接收数据
rectr=rectr+1; %接收计数器加1
recbuf(rectr)=recdta; %送入接收缓冲区
if rectr==framelen %如果接收完进行处理
rectr=0; %清接收计数器
framenum=framenum+1; %帧数累加
%可根据具体通讯协议提取数据,例如:data1~data4
data1=(recbuf(3)*256^3+recbuf(4)*256^2+recbuf(5)*256+recbuf(6))/100; %接收原始数据
data2=(recbuf(7)*256^3+recbuf(8)*256^2+recbuf(9)*256+recbuf(10))/100; %接收非线性补偿后的数据
data3=(recbuf(11)*256^3+recbuf(12)*256^2+recbuf(13)*256+recbuf(14))/100;%接收蠕变补偿后的数据
data4=(recbuf(15)*256^3+recbuf(16)*256^2+recbuf(17)*256+recbuf(18))/100;%接收滤波后的数据
fprintf('%8.2f %8.2f %8.2f %8.2f\n',data1,data2,data3,data4) %输出显示
%可根据具体通讯协议取出数据
end
else rectr=0; %未找到帧头清计数器
end %接收结束
end %主循环结束
%程序结束关闭串口类
fclose(g); %关闭串口
delete(g); %删除串口对象
clear g ; %清除变量
end
没有图片曲线展示吗! lvyunhua 发表于 2016-4-7 16:00
没有图片曲线展示吗!
没有,那个可以根据绘图函数自己修改。 本帖最后由 cooldog123pp 于 2021-9-25 17:15 编辑
6666666666666666666666666感谢楼主分享~ 854552391 发表于 2016-4-13 17:42
6666666666666666666666666
哈哈,你总是这么调皮 看一看
man2man 发表于 2016-4-14 08:51
看一看
不用再为不会用VS做串口客户端发愁了。 楼主有没有 matlab 飞思卡尔的 上位机程序或者 教程啊 我是小白。。。 854552391 发表于 2016-4-14 19:49
楼主有没有 matlab 飞思卡尔的 上位机程序或者 教程啊 我是小白。。。
给你找了个教程,很不错,应该可以帮你完成。
什么东西,想看看 本帖最后由 cooldog123pp 于 2021-9-25 17:16 编辑
哈哈哈哈哈哈哈哈哈哈哈 感谢楼主分享~ wllty520 发表于 2016-4-18 20:24
哈哈哈哈哈哈哈哈哈哈哈
xiexie . 支持楼主 QQ745021926 发表于 2016-4-19 13:55
支持楼主
非常感谢。 撒打算打打打算打多少瓦的 急需,看看 好 学习学习 leetoun 发表于 2016-4-28 14:41
学习学习
给你推荐个编程框架:QT。