matlab读取串口数据并显示曲线的实现示例
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'); end set(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 s close 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
详解Matlab中 sort 函数用法
(1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3] (2)B=sort(A,dim),对数组按指定方向进行升序排序, dim =1,表示对每一列进行排序,,dim=2表示对每一行进行排序. (3)B=sort(A,dim,mode),mode为指定排序模式,mode为"ascend"时,
-
Matlab制作视频并转换成gif动态图的两种方法
一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程序运行时间 figure n = 0; t = -2*pi:0.01:2*pi; y = sin(t);%周期为2*pi y_result = sin(4*t); plot(t,y,'b'); xlabel('t'); ylabel('Amplitude'); n = n+1; F(n) = getfra
-
简述Matlab中size()函数的用法
size()函数用来获取矩阵的行数和列数. (1)s=size(A), 当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数. (2)[r,c]=size(A), 当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c. (3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数.其中r=size(A,1)该语句返回的时矩阵A的行数, c=si
-
Matlab实现数据的动态显示方法
对于真实系统或者仿真平台,数据是增量式的产生的.Matlab除了强大的矩阵运算外,还具有强大的数据可视化库.由于静态画图的方法较多,本文只针对增量式数据流的动态显示.本文主要介绍几种Matlab实现数据的动态显示方法.方法主要有两种: hold on set函数与drawnow函数组合 hold on 方法 1. 方法介绍 此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据.此种方法需要注意的
-
matlab读取串口数据并显示曲线的实现示例
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
-
Python 读取串口数据,动态绘图的示例
最近工作需要把单片机读取的传感器电压数据实时在PC上通过曲线显示出来,刚好在看python, 就试着用了python 与uart端口通讯,并且通过matplotlib.pyplot 模块实时绘制图形出来. 1. 废话少说,上图 因为没有UI,运行时需要在提示符下输入串口相关参数,com端口,波特率... 代码如下: #-*- coding: utf-8 -*- # 串口测试程序 import serial import matplotlib.pyplot as plt import numpy
-
C#实现读取DataSet数据并显示在ListView控件中的方法
本文实例讲述了C#实现读取DataSet数据并显示在ListView控件中的方法.分享给大家供大家参考.具体如下: /*lvStudentList为ListView控件名 */ DataSet ds = new DataSet(); ds = student.QueryStudents(); //查询表的信息 int rowCount, columnCount,i,j; rowCount = ds.Tables[0].Rows.Count; columnCount = ds.Tables[0].
-
PyTorch读取Cifar数据集并显示图片的实例讲解
首先了解一下需要的几个类所在的package from torchvision import transforms, datasets as ds from torch.utils.data import DataLoader import matplotlib.pyplot as plt import numpy as np #transform = transforms.Compose是把一系列图片操作组合起来,比如减去像素均值等. #DataLoader读入的数据类型是PIL.Image
-
Django读取Mysql数据并显示在前端的实例
前言: 由于使用Django框架来做网站,需要动态显示数据库内的信息,所以读取数据库必须要做,写此博文来记录. 接下来分两步来做这个事,添加网页,读取数据库: 一.添加网页 首先按添加网页的步骤添加网页,我的网页名为table.html, app名为web: table.html放到相应目录下: forms.py文件提前写好: 修改views.py,做好视图 from django.shortcuts import render from web import forms def table(r
-
python 读取串口数据的示例
python3 读取串口数据 demo 最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值.其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数据. 下面是python串口通信,但是不是linux的,是我在windows上写的测试demo,python版本是3. python串口读取数据 # TODO 串口读取数据 # Auther wjw import serial # 导入串口包 import time # 导入时间包 ser = se
-
基于PyQt5实现一个串口接数据波形显示工具
目录 工具简述 主程序代码 Qt Designer设计UI界面 程序运行效果 工具简述 基于PyQt5开发UI界面使用QtDesigner设计,需要使用到serial模块(串口库)和pyqtgraph(图形库).上位机通过串口接收来自MCU发送数据,解析出每一个数据项并以波形图的方式显示.本例程下位机是Raspberry Pi Pico发送HMC5883L地磁模块数据,数据项有x,y,z,h等,数据格式’$$:x,y,z,h’. 主程序代码 import sys import numpy as
-
python简单程序读取串口信息的方法
本文实例讲述了python简单程序读取串口信息的方法.分享给大家供大家参考.具体分析如下: 这段代码需要调用serial模块,通过while循环不断读取串口数据 import time import serial ser = serial.Serial( #下面这些参数根据情况修改 port='COM1', baudrate=9600, parity=serial.PARITY_ODD, stopbits=serial.STOPBITS_TWO, bytesize=serial.SEVENBIT
-
java读写串口数据你了解多少
目录 1.导入支持java串口通信的jar包: 2.编写代码操作串口: 总结 最近接触到了串口及其读写,在此记录java进行串口读写的过程. 1.导入支持java串口通信的jar包: 在maven项目的pom.xml中添加RXTXcomm的依赖 或者 下载RXTXcomm.jar并导入到项目中. 支持Java串口通信操作的jar包,java.comm比较老,而且不支持64位系统,推荐使用Rxtx这个jar包(32位/64位均支持). 下载地址: https://pan.baidu.com/s/1
-
基于PHP和Mysql相结合使用jqGrid读取数据并显示
jqGrid可以动态读取和加载外部数据,本文将结合PHP和Mysql给大家讲解如何使用jqGrid读取数据并显示,以及可以通过输入关键字查询数据的ajax交互过程. 下面给大家展示效果图,喜欢的朋友可以阅读全文哦. jqGrid本身带有search和edit表格模块,但是这些模块会使得整个插件体积显得有点庞大,而且笔者认为jqGrid的搜索查询和编辑/添加功能不好用,所以笔者放弃jqGrid自有的search和edit表格模块,借助jquery利器来完成相关功能,符合项目的实际应用. XHTML
随机推荐
- CSS网页布局入门教程7:二列固定宽度居中
- Erlang中的模块与模式匹配介绍
- java 在观察者模式中使用泛型T的实例
- php中并发读写文件冲突的解决方案
- php数组声明、遍历、数组全局变量使用小结
- JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
- javascript从作用域链谈闭包
- js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
- java之Object类用法实例
- 深入理解Shell输出颜色与控制
- Atitit.js的键盘按键事件捆绑and事件调度
- jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
- Javascript 实现简单计算器实例代码
- 路由器之基本维护经验
- IIS中User-mode caching引起的Cache-Control不为public问题的解决方法
- 利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
- 深入剖析Android消息机制原理
- Python通过Pygame绘制移动的矩形实例代码
- Java8新的异步编程方式CompletableFuture实现
- Vue项目全局配置页面缓存之按需读取缓存的实现详解