matlab读取串口数据并显示曲线

来源:互联网 发布:孙悟空与哪吒知乎 编辑:程序博客网 时间:2024/05/16 14:24

matlab程序读取单片机通过串口传来的IMU角度数据,并用曲线显示出来。

上传的值为float型,每个数据后有回车符。范围90~-90

 

主文件 serial_test2.m

%%clc;global t;global x;global m;global ii;t = [0];m = [0];ii = 0;x = -100;p = plot(t,m,'EraseMode','background','MarkerSize',5);axis([x-200 x+200 -90 90]);grid on;%%try    s=serial('com4');catch    error('cant serial');endset(s,'BaudRate', 115200,'DataBits',8,'StopBits',1,'Parity','none','FlowControl','none');s.BytesAvailableFcnMode = 'terminator';s.BytesAvailableFcn = {@callback,p};fopen(s);pause;fclose(s);delete(s);clear sclose all;clear all;

 

回调函数 callback.m

%%function callback(s, BytesAvailable,p)        global t;    global x;    global m;    global ii;    out = fscanf(s);    data = str2num(out)        t = [t ii];    m = [m data];    set(p, 'XData',t,'YData',m(1,:));        drawnow    x = x + 1;    axis([x-200 x+200 -90 90]);    ii=ii+1;end



 

原创粉丝点击