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

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

  • 相关阅读:
    邮件发送
    生成缩略图
    截取字符串,中文安两个字符处理
    获取客户机MAC地址 根据IP地址 获取机器的MAC地址 / 获取真实Ip地址
    文件操作
    MD5加密 和 自定义加密解密
    Html标签替换(过滤掉html特殊符号)
    .net core 自定义中间件
    querySelector和querySelectorAll
    CSS下背景属性background的使用方法
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5168805.html
Copyright © 2011-2022 走看看