zoukankan      html  css  js  c++  java
  • 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打开失败。

    ', sname); end fprintf('%s成功打开。 ', 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 ', 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)

    部分參考:http://blog.sina.com.cn/s/blog_6163bdeb0102e8qc.html

    通过这两个实验。你学会使用了吗?呵呵...

  • 相关阅读:
    最新恶意IE跳窗广告IS_0518(_IS_ISC.DLL)的删除方法
    禁止UDP端口引起DNS错误导致邮局无法外发的故障
    微软某个补丁引起DCOMCNFG无法对后安装的COM进行权限设置的处理
    J2ME中使用calendar类获得当前时间
    今天实在忍不住,把极速星空的密码给破了
    准备开发一个PSP专用的网站http://www.mypsp.com.cn
    网络工程师30个经典的电脑使用技巧
    XBOX更换160G大硬盘的笑话
    PPC软件字体太小的调整
    解决IISASP调用XmlHTTP出现msxml3.dll (0x80070005) 拒绝访问的错误
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5168805.html
Copyright © 2011-2022 走看看