预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

通信设备王战军等:基于MatlabGUI的串口通信编程实现 基于MatlabGUI的串口通信编程实现 王战军1,沈明2 (1.91329部队装备部,山东威海264200;2.92859部队,天津300061) 摘要:Matlab不仅具有强大的科学计算功能,还内置了GUI工具用于进行界面开发。利用Matlab的GUI工具和内 置的串口通信API,设计开发一个可视化的串口通信例程,实现IMU原始数据的接收采集,并利用Matlab强大的科学计算 功能,对数据进行实时处理,图形化显示数据处理结果。最后介绍了编译发布Matlab程序的步骤与注意事项。 关键词:MatlabGUI;串口通信;IMU;软件编译 中图分类号:TP311文献标识码:A文章编号:1004373X(2010)09003803 SerialCommunicationProgramDevelopmentBasedonMatlabGUI (1.PLA91329Unit,Weihai264200,China;2.PLA92859Unit,Tianjin300061,China) Abstract:Matlabhaspowerfulscientificcomputationability,andanembeddedGUItoolisusedtointerfacedevelopment. AvisualizedserialcommunicationroutinesisdesignedwiththeGUItoolandembeddedserialcommunicationAPI,therecep tionandacquisitionofIMUoriginaldataisrealizedthescientificcomputationabilityofMatlabisusedforprocessingdatareal timlyanddisplayingresultgraphically.Intheend,stepstocompileandreleasetheprogramisintroduced. Keywords:MatlabGUI;serialcommunication;IMU;softwarecompiler 0引言 Matlab是MathWorks公司开发的一种科学计算 软件。Matlab运行稳定、可靠、使用方便,是广大科研 人员进行科学研究的得力助手。Matlab不仅具有强大 的科学计算功能,还具有满足一般要求的数据采集以及 界面设计开发功能。MatlabGUI(GraphicUserInter face)就是内置于Matlab的进行图形界面开发的模块。 本文利用MatlabGUI设计通过串口进行数据发送和 接收的界面,并利用内置于Matlab的串口通信API实 现串口数据发送与接收功能。 图1MatlabGUI开发界面 1MatlabGUI介绍 启动Matlab后,运行guide命令即可以启动Mat labGUI开发工具。如图1所示。 新建BlankGUI,如图2所示。 在新建BlankGUI界面中,包含了一般的界面元 素,如菜单、按钮、坐标轴、控件等。添加必要的串口通 信参数设置按钮。 运行后的界面如图3所示。 图新建界面 收稿日期:200910242BlankGUI 38 !现代电子技术∀2010年第9期总第320期通信与信息技术 实现形式为: A=fread(obj,size) A为读入的数据,以数组的形式存储,存储数据形 式为字节;obj即为使用创建串口对象函数的返回值; size指定一次读操作读入字节的个数。实现写串口的 函数有两个,分别为fwrite和fprintf。fwrite以二进制 形式向串口写入数据,实现形式为: fwrite(obj,A) obj即为使用创建串口对象函数的返回值;A为写入 的数据,以数组形式存储。fwrite以文本形式向串口写入 图3串口通信界面数据,即以ASCII码的形式向串口写数据,实现形式为: fprintf(obj,cmd) 2串口数据发送与接收功能实现obj即为使用创建串口对象函数的返回值;cmd为 2.1建立串口通信流程的基本步骤写入的文本数据,以数组形式存储。 Matlab提供了对串口进行打开、关闭、以及串口参(5)关闭串口以及释放串口对象占用的存储空间。 数设置等操作的一系列函数。利用这些函数可以选择关闭串口函数为:fclose(obj)。释放串口对象占用的内 存空间函数为。释放串口对象在 串口号、设置串口通信参数(波特率、数据位、停止位、校,:delete(obj)Matlab 工作区中占用的存储空间函数为。 验位等)