Matlab---串口操作---数据採集篇
matlab功能强大,串口操作也非常easy。相信看过下面两个实验你就能掌握咯!
開始吧!
实验1:
从电脑COM2口读取数据。并将数据保存在TXT文件里,方便数据分析,以下是M脚本:
%名 称:Matlab串口-Lab1
%描 述:串口读,并写入txt文件里
s=serial('com2');
s.BytesAvailableFcnMode='byte'; % 串口设置
s.InputBufferSize=4096;
s.OutputBufferSize=1024;
s.BytesAvailableFcnCount=100;
s.ReadAsyncMode='continuous';
s.Terminator='CR';
fopen(s); %打开串口
out=fread(s,10,'uint8'); %一次读出10个字符
fprintf('%3c',out); %一个字符占三位输出,%c字符,%d整型 fid=fopen('serial_data.txt','w+'); % 'a+'读写方式打开,将文件指针指向文件末尾。 假设文件不存在则尝试创建之
fprintf(fid,'%3c',out); % 写入文件里
fclose(fid); fclose(s);
delete(s);
实验2:
相同的功能。用函数写更规范,代码例如以下:
% 打开串口
function scom = OpenSerial(sname, HReadFcn)
scom = serial(sname);
scom.BytesAvailableFcnMode = 'terminator';
scom.Terminator = '.';
scom.BytesAvailableFcn = HReadFcn;
try
fopen(scom);
catch err
fprintf('%s打开失败。 \n', sname);
end
fprintf('%s成功打开。\n', sname);
end
% 写串口
function WriteSerial(scom, str)
fprintf(scom, str ,'async'); % 异步方式
end
% 读串口回调函数
function ReadFcn_Com2(obj, ~)
n = get(obj, 'BytesAvailable');
if n
a = fread(obj, n, 'uchar');
c = char(a');
fprintf('%s\n', c);
end
end
% 关闭串口
function CloseSerial(scom)
try
fclose(scom);
catch err
fprintf('%s关闭失败。 ', scom.Name);
return
end
delete(scom);
end
仿真例如以下,使用虚拟串口连接串口2和3。打开串口调试助手,以默认方式打开com3
在matlab命令框中例如以下输入命令打开串口com2
>> scom =OpenSerial('com2', @ReadFcn_Com2);
com2成功打开。
向com2写
>>WriteSerial(scom, 'Hello!');
串口调试助手收到信息
用串口调试助手回复matlab。点上图中的手动发送(发送的信息已英文句号.结束),matlab中收到信息
Hello, Matlab.
>>
关闭串口
>> CloseSerial(scom)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ3VvbXV0aWFuOTEx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
部分參考:http://blog.sina.com.cn/s/blog_6163bdeb0102e8qc.html
通过这两个实验。你学会使用了吗?呵呵...
Matlab---串口操作---数据採集篇的更多相关文章
- C# 串口操作系列(4) -- 协议篇,文本协议数据解析
C# 串口操作系列(4) -- 协议篇,文本协议数据解析 标签: c#uiobjectstringbyte 2010-06-09 01:50 19739人阅读 评论(26) 收藏 举报 分类: 通讯 ...
- 数据採集之Web端上传文件到Hadoop HDFS
前言 近期在公司接到一个任务.是关于数据採集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志採集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好近期都有在这方面 ...
- 【转】C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 标签: c#objectnewlineexceptionbytestring 2010-05-17 01:10 117109人阅读 ...
- MATLAB串口操作和GUI编程
程序说明 V1.0 2015/2/08 MATLAB串口操作和GUI编程 概述 本文介绍了程序AD9512_Serial_GUI的编程思路和功能.该程序设计到MATLAB的图像用户界面编程的基 ...
- 数据採集器服务——Socket(今天才发现AES加解密代码跟贴的时候不一样,貌似乱码,不知什么情况)
近期刚做的一个项目.关于 Socket TCP 通信. 需求方提供了一个 ARM 机器,及数据採集器,须要我做一个服务端与数据採集器进行交互. 目的: 数据採集器:定时将读取到的数据发送到服务端. 服 ...
- C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
原文地址:http://blog.csdn.net/wuyazhe/article/details/5627253 我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要 ...
- 《转》ceilometer的数据採集机制入门
问题导读 1.ceilometer负责什么事情? 2.ceilometer 有哪些概念? 3.ceilometer 怎样採集hardware? 附上openstack 官网API http://d ...
- C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
第一篇文章我相信很多人不看都能做的出来,但是,用过微软SerialPort类的人,都遇到过这个尴尬,关闭串口的时候会让软件死锁.天哪,我可不是武断,算了.不要太绝对了.99.9%的人吧,都遇到过这个问 ...
- 用WidgeDuino创建一个SCADA(监控与数据採集)系统
WidgeDuino – 近期在Kickstarter上亮相 – 是一个智能的易配置的窗体- 基于Microsoft Windows平台和基于像 Atmel-based Arduino board 的 ...
随机推荐
- 纯CSS设置Checkbox复选框控件的样式
Checkbox复选框是一个可能每一个网站都在使用的HTML元素,但大多数人并不给它们设置样式,所以在绝大多数网站它们看起来是一样的.为什么不把你的网站中的Checkbox设置一个与众不同的样式,甚至 ...
- OpenGL教程之新手上路
Jeff Molofee(NeHe)的OpenGL教程- 新手上路 译者的话:NeHe的教程一共同拥有30多课,内容翔实,而且不断更新 .国内的站点实在应该向他们学习.令人吃惊的是,NeHe提供的例程 ...
- POJ 2635 The Embarrassed Cryptographer 高精度
题目地址: http://poj.org/problem?id=2635 题意:给出一个n和L,一直n一定可以分解成两个素数相乘. 让你判断,如果这两个素数都大于等于L,则输出GOOD,否则输出最小的 ...
- google2013校园招聘笔试题(全国)
google2013校园招聘笔试题 1. 单项选择题1.1如果把传输速率定义为单位时间内传送的信息量(以字节计算)多少.关于一下几种典型的数据传输速率:1.使用USB2.0闪存盘,往USB闪存盘上拷贝 ...
- SVN 1.8.x 服务器安装(转)
目录[-] 一. SVN 服务器下载.安装 1. 关于 Subversion 1.8.11 2. 兼容性问题 3. 安装包下载 3.1 VisualSVN 3.2 Win32Svn 3.3 SlikS ...
- Joomla3.1.1在64位win7下安装
将下载的joomla压缩包解压到Apache下的htdocs文件夹中. 打开Apache服务器,在浏览器输入http://localhost:8081/Joomla/ 即可进入Joolma的安装配置界 ...
- CCNP交换实验(5) -- 网关热备冗余
HSRP:1.启用HSRP功能,并设置虚拟地址IP, 1为standby的组号.2.相同组号的路由器属于同一个HSRP组,所有属于同一个HSRP组的路由器的虚拟地址必须一致.3.HSRP的优先级默认为 ...
- 安卓开发23:Service详细解读
关于Service Service说明:Service是android 系统中的四大组件之一(Activity.Service.BroadcastReceiver.ContentProvider),它 ...
- MapReduce整体架构分析
继前段时间分析Redis源代码一段时间之后.我即将開始接下来的一段技术学习的征程.研究的技术就是当前很火热的Hadoop,可是一个Hadoop生态圈是很庞大的.所以首先我的打算是挑选当中的一部分模块, ...
- 其他主机连接本地主机Tomcat会出现的防火墙问题
当我在A机上开启Tomcat后,B机上打开浏览器不能访问到Tomcat的服务器,这是由于Windows防火墙的原因 可以由以下两种做法: 关闭Windows防火墙: 如果不想关闭Windows防火墙, ...