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

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

  • 相关阅读:
    Codeforces Round #629 (Div. 3) (A ~ F)
    st表
    Educational Codeforces Round 81 (Rated for Div. 2)
    hihocoder#1996 : 01匹配
    P2056 [ZJOI2007]捉迷藏
    P2495 [SDOI2011]消耗战
    GUETOJ1335
    优先队列重载比较运算
    CCF认证201909-4 推荐系统
    P3178 [HAOI2015]树上操作
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5168805.html
Copyright © 2011-2022 走看看