之前学过单片机 对于串口通信比较了解

最近在学习MATLAB   发现它还可以控制串口   于是通过MATLAB 的GUI创建了一个串口通信的小软件

效果如下

如果没有单片机或者其他硬件的话 我们可以直接用软件模拟串口  本人选择了Configure Virtual Serial Port Driver  这个软件   软件网上就有  下一个使用几天就行了

 

选择两个没有被占用的串口  点击Add pair 会发现左边多出了一对串口  这对串口现在已经连接在了一起    我的是COM1和COM2    现在如果往    COM1发信息 那么COM2就会接收到  之后我通过MATLAB的  uicontrol 函数搭建了  UI界面 并逐步实现了 串口通信 布局代码如下

 

打开串口以及接收数据  以及动态显示的代码如下

function openserial(h1,h2,h3,h4,h5,h6,h7)
    global s;
    baud=[600,1200,2400,4800,9600,14400,19200,28800,38400,57600,115200,230400,460800];
    v1=get(h1,'value');
    v2=get(h2,'value');
    m=strcat('com',num2str(v1));
    if strcmp(get(gco,'string'),'打开串口')
        try 
            s = serial(m);
            fopen(s);                 %打开串口  
            set(s,'BytesAvailableFcnMode','Terminator'); %设置中断触发方式  
            set(s,'Terminator','H','BaudRate',baud(v2),'DataBits',7); 
            set(s,'BytesAvailableFcn',{@ReceiveCallback,h3,h4,h5,h6,h7});
%             s.BytesAvailableFcn =@ReceiveCallback;       % 定义中断响应函数对象  
            set(gco,'string','关闭串口');
            msgbox(['打开',m,'成功']);
        catch err
            msgbox('打开失败');
        end
    else
      try
        fclose(s);
        set(gco,'string','打开串口');
        msgbox(['关闭',m,'成功']);
      catch err
        msgbox('关闭失败');
      end
        delete(s);
    end
end

function ReceiveCallback(obj,event,h3,h4,h5,h6,h7)     %创建中断响应函数  
   global s;  
   global a;
   global recnuma;
   global recstr;
   global x;
   global y;
   global ii;
   a = fscanf(s);      % 接收数据并显示(无分号) 
   a(end)=[];
   if(strcmp(get(h5,'string'),'关闭接收'))
       recstr=strcat(recstr,a);
       recnuma=recnuma+length(a);
   end
   set(h3,'string',num2str(recnuma));
   set(h4,'string',recstr);
   if(get(h7,'value')==1)
       m=str2double(a);
       x=[x ii];
       y=[y m];
       set(h6,'XData',x,'YData',y);
       ii=ii+1;
       axis([ii-100,ii+100,-100,100]);
   end
end

这时就可以选择一个串口助手  发送数据  在 MATLAB中打开相应串口并使能接收  就看到数据的显示了

如果在串口中一直发送数据  同时在MATLAB中点击使能绘图 在Axes框中就会出现  每一时刻接收的  数据的图   具体效果如下

代码下载地址: https://download.csdn.net/download/qq_34020487/9992347

基于MATLAB GUI的串口通信相关推荐

  1. MATLAB GUI 实现串口通信,制作串口助手(教材级别的宝藏内容!!)

    使用matlab写了一个串口助手如下: app 文件链接如下: https://pan.baidu.com/s/1vLNekFZCdw1GSRg7sn_JZg 链接:https://pan.baidu ...

  2. 51单片机进阶案例(1)——基于MATLAB GUI的单片机串口与PC的通信实现实时时钟和双向可调时钟功能(利用DS1302时钟芯片和LCD1602液晶屏)

    目录 一.案例描述 二.实现功能 三.51单片机部分实现 3.1 实时时钟的实现 3.2 串口通信的实现 3.2.1 接收数据 3.2.2 发送数据 四.MATLAB部分实现 4.1 GUI界面 4. ...

  3. 基于MATLAB GUI界面的串口小助手

    文章目录 序 一.简介 二.步骤 1.创建一个空白GUI界面 2.拖入组件,进行搭建 3.编辑m文件 总结 序 将单片机传感器采集到的数据直接输入MATLAB进行运算分析,不仅适合仿真,在实际测试中, ...

  4. 【雷达通信】基于matlab GUI相控阵雷达方向图【含Matlab源码 1048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[雷达通信]基于matlab GUI相控阵雷达方向图[含Matlab源码 1048期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方 ...

  5. 【图像处理】基于matlab GUI多功能图像处理系统【含Matlab源码 1876期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像处理]基于matlab GUI多功能图像处理系统[含Matlab源码 1876期] 点击上面蓝色字体,直接付费下载,即可. 获取代码 ...

  6. 基于matlab GUI Powell+蚁群算法图像配准

    基于matlab GUI Powell+蚁群算法图像配准 一.简介 1 蚁群算法(ant colony algorithm,ACA)起源和发展历程 Marco Dorigo等人在研究新型算法的过程中, ...

  7. 【语音去噪】基于matlab GUI切比雪夫+椭圆形低通滤波器语音去噪【含Matlab源码 2198期】

    一.语音处理简介 1 语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点: ①在频域内,语音信号的频谱分量主要集中在300-3400Hz的范围内.利用这个特点,可以用一个防 ...

  8. 【语音处理】基于matlab GUI低通滤波器语音信号加噪与去噪【含Matlab源码 1708期】

    ⛄一.语音处理简介(附课程作业报告) 1 语音信号的特点 通过对大量语音信号的观察和分析发现,语音信号主要有下面两个特点: ①在频域内,语音信号的频谱分量主要集中在300-3400Hz的范围内.利用这 ...

  9. 基于MATLAB GUI图像处理系统的设计与实现

    基于MATLAB GUI图像处理系统的设计与实现 摘; 要:MATLAB作为算法开发及数据可视化的交互式工具,在数字图像处理方面应用广泛,并集成了具有多种算法的图像处理工具箱.本文基于MATLAB图像 ...

最新文章

  1. 第二届360杯全国大学生信息安全技术大赛部分解题思路(逆向分析)
  2. 5g网络架构_【5G网络架构】系列之二:5G基站—gNodeB。为什么叫gNodeB?取个名而已,需要理由吗?...
  3. 《剑指offer》把数组排成最小的数
  4. [SPS2010] 使用心得 7 - ebook for Installation
  5. 地磅称重软件源码_电脑设备器件+塔吊主吊臂+撇渣管、丝杆+地磅称重传感器+极柱触头盒弯板+批式循环谷物干燥机+升降机标准节...
  6. Spring计划列表
  7. 项目代码matlab
  8. nagios 监控memcached
  9. mybatis mysql 自增_利用Java的MyBatis框架获取MySQL中插入记录时的自增主键
  10. sha256算法_以太坊2.0将弃用Keccak256,而启用SHA256哈希算法?
  11. java程序员到J2EE架构师
  12. ARM体系结构与编程学习(七)
  13. 配眼镜走过的那些坑。
  14. 银行理财子与券商合作探讨(四):券商银行理财子数字化合作蓝图
  15. vuepress-theme-reco自动生成侧边栏
  16. 沟通和编程一样,也是一门艺术系列6(艺术境界)
  17. Mybatis 核心知识点整理成图
  18. 室外AP设备的防雷接地
  19. 【Learning】虚树题目汇总
  20. HR最不喜欢的六类求职者

热门文章

  1. 牛客网 - [牛客OI周赛8-提高组]用水填坑(优先队列)
  2. 浅谈喝汽水问题————能用数学解决为什么要用递归
  3. 三生诀游戏服务器维护,《三生诀》7月26日更新公告
  4. java孙膑与庞涓_《鬼谷子的局3》—— 读后总结
  5. java怎么向二维数组赋值_如何给JAVA二维数组赋值
  6. Compiling a Compiler
  7. 根据身份证地址拆分省市区
  8. 光线步进——RayMarching入门
  9. wxpython查询功能_wxpython程序基本功能源码整理,包括基本文字,输入框,字体设置,按钮绑定事件触发...
  10. 我也 30 了,来谈谈程序员的迷茫年龄