您当前的位置:五五电子网电子知识通信技术综合通信技术基于Matlab中断方式实现实时串行通信 正文
基于Matlab中断方式实现实时串行通信

基于Matlab中断方式实现实时串行通信

点击数:7878 次   录入时间:03-04 11:39:48   整理:http://www.55dianzi.com   综合通信技术

e.JPG

   
6.1 将中断服务子程序写入GUI组件的部分M文件代码
   
主程序创建串口设备对象、设置串口设备属性及打开串口等初始化操作的代码与查询方式下的初始化代码相同:
   
    f.JPG



www.55dianzi.com


6.2 通过调用修改后的instroallback.m文件实现中断
   
主程序:
    h.JPG
    修改instreallback(obj,evenlt)回调函数,instrcallback.m文件包含了Matlab提供的回调函数程序模板,设计者可以根据需要自行添加相应的服务程序代码。Matlab安装目录下有两个instrcallback.m文件,只需要修改\MATLAB\toolbox\matlab\iofun\@instrument目录下的instrcallback.m文件即可。另外,在修改instrcallback.m文件之前,最好对其做一个备份。在修改了instrcallback(obj,event)回调函数后,需要对其进行保存,重新启动Matlab配置该文件,才使修改后的函数生效。

j.JPG

   
    图5为以下方式实现的智能车启动过程速度的实时显示,修改后的instrcallback.m文件主要程序代码如下:
    i.JPG

    实验证明,基于Matlab事件驱动实现的智能车与上位机的实时串口通信可以很好地满足智能车调试过程中的需要,且将中断服务子程序写入GUI组件和修改instrcallback.m文件两种方式的通信都稳定可靠。

    结语

    在Matlab环境下两种实现智能车与PC机实时通信的中断机制都能实时稳定地进行数据传输,不过将中断服务子程序写入GUI组件的方式编程简单,数据处理方便,实现更为容易,开发效率相对得到了较大的提高。实践证明,采用这种方法是可行的,它不但能够应用于本文的智能车系统,也可广泛应用在其他具有串口通信能力的仪器设备中。



上一页  [1] [2] 


本文关键字:通信  综合通信技术通信技术 - 综合通信技术