博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MATLAB动画显示串口数据【实例】(修正链接)
阅读量:4494 次
发布时间:2019-06-08

本文共 3276 字,大约阅读时间需要 10 分钟。

function callback(s,BytesAvailable,p)    global i;    global t;    global x;    global m;    %     p = plot(t,m,...%              'EraseMode','background','MarkerSize',5);    out = fscanf(s) %read data from s    data = str2num(out);    if data>-2 & data < 2 %detect if data is legal    %    disp('*******data comes! \n');    t=[t 0.01*2*pi*i];   %0 0.1 0.2 0.3.. %Matrix 1*(i+1), column is increasing    m=[m data]; %Matrix 2*(i+1), 2row, i+1 column.    %http://blog.csdn.net/sonictl    %set(p(1),'XData',t,'YData',m(1,:))    %set(p(2),'XData',t,'YData',m(2,:))    set(p,'XData',t,'YData',m(1,:))    %http://blog.csdn.net/sonictl    drawnow    x = x + 3.6/360*2*pi;   % x = x+0.1    axis([x x+2*pi -1.5 1.5]);    pause(0.1);    i = i+1;    end    %http://blog.csdn.net/sonictl end
MATLAB动画显示串口数据【实例】

经过几天的学习,现在能实现串口数据的实时plot并记录在MATLAB变量中。

After a few days' learning, we can implement thatreal-time plot the data from serial port.

先看一下演示的视频吧:(see demo video)

升级版(双数据接收,绘图):

The outline of the video:

演示视频大纲:
  1.介绍系统构成
  2.介绍板载C语言程序
  3.用Linux界面演示由MATLAB发送给目标板的命令,及理论返回值。
  4.介绍MATLAB本实例的m文件的主要功能,发送的命令,判断,画图
  5.演示整个MATLAB程序的实现效果
完成这个实例需要学习“” 和 "", 请点击。
To finish this subject, we need firstly learn"Official tutorial for MATLAB serial port operation "
板卡产生数据源程序(C语言): The source code for generating original data on the TLL main board.
--------------------
#include"stdio.h"#include"math.h"#include"string.h"#define pi 3.1415926void delay(int a){	int i,j,delay;	for(i = 0 ;  i < 1000*a; i++){		delay = 0;		for(j = 0; j < 1000*a; j++){			delay = delay+1;		}	}}int main(){	float angle, x, y,rad;	int i,N,dltime;	angle = 0;	//getchar();	printf("input the num of circles, delay time: ");	scanf("%d,%d", &N, &dltime);	for (i = 0; i < 100*N ; i++){		angle = angle + 3.6;		rad = angle/180*pi;		x = cos(rad);		y = sin(rad);		printf("%f \n", x);		delay(dltime);	}	return 0;}

--------------------------------------------

MATLAB 接收数据主程序serial-test.m:

The main program for receiving data in MATLAB:

clc;%%% Use EraseMode,draw dynamically. Change axis dynamically.% Multi-Line drawing lineglobal i;global t;global x;global m;t = [0];                    % initializem = [0];                    % initializei = 0;x = -pi ;p = plot(t,m,...   'EraseMode','background','MarkerSize',5);axis([x x+2*pi -1.5 1.5]);   % x = [-1.5 pi, 0.5 pi]grid on;%%s = serial('COM3');     % creat serial port objset(s,'BaudRate',115200,'DataBits',8,'StopBits',1,...    'Parity','none','FlowControl','none');  % set properties for serials.BytesAvailableFcnMode = 'terminator'; % byte number or terminators.BytesAvailableFcn = {@callback,p};   % {@mycallback,time}fopen(s);fprintf(s,'cd /home');pause(1);           % pause function, 1sfprintf(s,'./matlab-serial');pause;           % pause functionfprintf(s,'1,1');pause;      %right here is receiving the data and plotfclose(s);delete(s)clear sclose all;clear all;
--------------------------------------------

MATLAB 接收数据,判断,动态绘图,回调函数 callback.m:

The Callback function for receiving, judge, plotting in MATLAB.

Explore more:  Real-time plotting in MATLAB for the Three axis accelerometer data 

三轴力传感器数据在MATLAB中实时绘图显示:

--------------------------------------------
posted on
2013-01-04 02:32 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/sonictl/archive/2013/01/04/6735659.html

你可能感兴趣的文章
Hadoop源代码分析
查看>>
AI: Chapter 2-Intelligent Agents
查看>>
2018寒假生活体验
查看>>
2017 多校训练题解1 [A.Add More Zero] 数学
查看>>
面试总结 2019.3.22
查看>>
JavaEE复制后项目出错或者无法运行的解决方法
查看>>
Struts2跟SpringMVC的区别
查看>>
模拟jquery
查看>>
BufferedReader和Scanner
查看>>
关于fork的一道经典面试题
查看>>
package,继承,访问修饰符
查看>>
Freepbx
查看>>
DBS:TestSystem
查看>>
【共读Primer】51.[6.3]返回类型和return语句--列表初始化返回值 Page203
查看>>
第一次作业
查看>>
是否需要有代码规范
查看>>
SQL*Plus 系统变量之14 - DEF[INE]
查看>>
桥叔时间
查看>>
耦合内聚封装
查看>>
qbxt联赛集训d1t3
查看>>