当前位置:文档之家› labview串口调试助手综述

labview串口调试助手综述

labview串口调试助手综述
labview串口调试助手综述

《虚拟仪器技术》课程设计报告

题目:串口调试助手

专业:测控技术与仪器

班级:测控0901

学号:091301120

姓名:吴迪

指导教师:陈老师王老师

完成日期: 2013年3月

扬州大学能源与动力工程学院

2013年3月

目录

一.设计目的 (2)

二.设计步骤 (6)

1.基本框架的设计 (7)

2.配置串口各个参数 (8)

3.写入字符串 (9)

4.写入格式的选择 (11)

5.读取字符串 (12)

6.读取字符串格的选择 (13)

7.清空读取字符串 (13)

8.打开串口 (14)

9.对界面颜色的设计 (14)

三.总程序图 (15)

四.调试中遇到的问题 (16)

五.体会 (17)

第一部分

1.设计目的

(1)掌握Labview软件编程方法

(2)掌握虚器仪器实验室硬件的应用

(3)培养综合应用所学知识来指导实践的能力

2.设计所用仪器及器件

(1) NI公司的数据采集和信号调理卡。NI MyDQA卡,myboard

辅助电路板。

(2)计算机一台。

(3)各种相关的实验材料和设备。

3.实物内容及要求

(1)设计成果一份。

(2)课程设计报告一份。

4.进程安排

1.布置任务、查阅资料,方案设计(两天)

根据设计要求,查阅参考资料,进行方案设计及可行性论证,确定设计方案,画出详细的原理图。

2.上机在LabVIEW环境下按要求进行设计(三天)

要求在虚拟仪器上观测到正确的波形并达到规定的技术指标。

3.硬件的装配及调试(三天)

使用数据采集卡进行装配调试,使其全面达到规定的技术指标,最终通过验收。

4.总结报告(一天)

5.课程设计报告内容

总结设计过程,写出设计报告,设计报告具体内容要求如下:1.课程设计的目和设计的任务

2.课程设计的要求及技术指标

3.总方案的确定并画出原理框图。

4.各基本单元原理及设计 (结合设计图写)。

5.总原理图,工作原理、工作特性(结合框图及前面版讲解)。

6.电路安装、调试步骤及方法,调试中遇到的问题,及分析解决方法。

7.实验结果分析,改进意见及收获。

8.体会。

第二部分

一.设计目的

设计一个串口调试助手。

要求:1.串口可选

2.波特率可调

3.串口通讯方式可调

4.检验方式可选

5.设计界面要标准

二.设计步骤:

基本框架的设计

首先,在程序框图放入四个函数,分别为visa配置窗口,visa写入,visa读取,visa关闭。,

,。

2、配置串口各个参数

为visa配置串口函数配置各个参数,分别有visa资源名称,波特率数据比特,奇偶效验,停止位,流程控制,终止符,超时。

其前面板和程序框图分别如下

前面板

3、写入字符串

写入字符串分别单次写入字符串和连续写入字符串,其前面板和程序框图如下。其中,连续写入的布尔按键机械动作为单机时转换,单次写入的布尔按键机械动作为保持转换直到释放。

经典的串口调试工具源代码(一)

经典的串口调试助手源代码(一) Dim OutputAscii As Boolean Dim InputString As String Dim OutputString As String '============================================================================== ======= ' 变量定义 '============================================================================== ======= Option Explicit ' 强制显式声明 Dim ComSwitch As Boolean ' 串口开关状态判断 Dim FileData As String ' 要发送的文件暂存Dim SendCount As Long ' 发送数据字节计数器 Dim ReceiveCount As Long ' 接收数据字节计数器Dim InputSignal As String ' 接收缓冲暂存 Dim OutputSignal As String ' 发送数据暂存 Dim DisplaySwitch As Boolean ' 显示开关 Dim ModeSend As Boolean ' 发送方式判断

Dim Savetime As Single ' 时间数据暂存延时用Dim SaveTextPath As String ' 保存文本路径 ' 网页超链接申明 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub CloseCom() '关闭串口 On Error GoTo Err If MSComm.PortOpen = True Then MSComm.PortOpen = False ' 先判断串口是否打 开,如果打开则先关闭 txtstatus.Text = "STATUS:COM Port Cloced" ' 串口状态显示 mnuconnect.Caption = "断开串口" cmdswitch.Caption = "打开串口" 'ImgSwitch.Picture = LoadPicture("f:\我的VB\串口调试软件\图片\guan.jpg") ' 显示串口已经关闭 的图标 ImgSwitchoff.Visible = True ImgSwitchon.Visible = False Err: End Sub Private Sub UpdateStatus() If MSComm.PortOpen Then StatusBar1.Panels(1).Text = "Connected" mnuautosend.Caption = "自动发送" mnuconnect.Caption = "断开串口" Else StatusBar1.Panels(1).Text = "断开串口" mnuautosend.Caption = "disautosend" mnuconnect.Caption = "打开串口" End If StatusBar1.Panels(2).Text = "COM" & https://www.doczj.com/doc/ce11610634.html,mPort StatusBar1.Panels(3).Text = MSComm.Settings If (OutputAscii) Then StatusBar1.Panels(4) = "ASCII" Else StatusBar1.Panels(4) = "HEX" End If ' On Error GoTo Err If ChkAutoSend.Value = 1 Then ' 如果有效则,自动发送

串口调试助手设计思路与手册

(2016-11-21)本设计包含的函数模块有: 1.打开/关闭串口和设置串口参数 2.软件退出 3.获取串口参数 4.发送数据 5.接受数据 6.清空发送区 7.清空接收区 8.计数清零 9.暂停/开启接收数据 10.自动发送 11.发送周期设置 12.打开文件 13.保存数据 补充说明: 1.设置串口参数里面包括了1)获取串口可用串口。2)波特率下拉参数设置。3)校验位下 拉参数设置。4)数据位下拉参数设置。5)默认设置。6) 2.发送数据前先判断是否为十六进制,是否为自动发送。是十六进制发送则把数据先转为 十六进制格式并获取数据长度,再把数据转到发送缓冲区发送,否则ASCII码文本发送3.接收数据函数在串口运行时一直在判断是否有新数据,并根据不同的接收模式,加显不 同格式的数据 软件代码详细介绍: (74-92h)可用串口检测及下拉控件。 (96-109h)波特率下拉控件设置。 (113-121h)校验位下拉控件。 (125-131h)数据位下拉控件。 (135-141h)停止位下拉控件。 (145-155h)默认参数设置。 (159-162h)接收数据串口说明与启动。 (168-174h)关闭软件设置。 (176-180h)关闭窗口后先关闭线程再关闭进程。 (182-194h)定义串口各参数。 (197-281h)打开串口按钮回调函数,先判断是否有可用串口,没有则显示“无可用串口,无法打开”然后返回,有则继续判断当前是要打开串口还是关闭串口,若是需要打开串口则尝试设置串口参数并打开串口,打开串口失败会提示无法打开串口,打开串口成功则串口参数下拉控件变灰发送数据按钮点亮,判断自动发送控件如果被选中则打开串口后直接自动发送数据。如果之前判断按钮回调是关闭串口,则进行关闭串口并配置相关参数。 (282-347h)CRC16查表法校验函数。 (349-357h)发送数据按钮回调及自动发送按钮回调。 (358-369h)发送数据线程配置。 (371-510h)发送数据函数,先判断是否正在发送数据,如不在发送则设置当前正在发送状态,后继续判断是写序列号模式还是串口调试模式,串口调试模式时先定义发送缓冲区和

(通信企业管理)经典串口调试助手源程序及串口通信设置精编

(通信企业管理)经典串口调试助手源程序及串口通 信设置

串口调试助手源程序 及编程详细过程 作者:龚建伟2001.6.20 能够任意转载,但必须注明作者和说明来自https://www.doczj.com/doc/ce11610634.html,,不得作为商用 目次: 1.建立项目 2.于项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.于对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 如果你仍没有下载源程序,又对本文有兴趣,请立即下载 于众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短壹个月,于全国各地累计下载量近5000人次,于近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手的源代码,为了答谢谢朋友们的支持,公开推出我最初用VC控件MSComm编写串口通信程序的源代码,且写出详细的编程过程,姑且叫串口调试助手源程序V1.0或VC串口通讯源程序吧,我相信,如果你用VC编程,那么有了这个代码,就能够轻而易举地完成串口编程任务了。(也许本文过于详细,高手就不用见) 开始吧: 1.建立项目:打开VC++6.0,建立壹个基于对话框的MFC应用程序SCommTest(和我源代码壹致,等会你会方便壹点); 2.于项目中插入MSComm控件选择Project菜单下AddToProject子菜单中的ComponentsandControls…选项,于弹出的对话框中双击RegisteredActiveXControls项(稍等壹会,这个过程较慢),则所有注册过的ActiveX控件出当下列表框中。选择MicrosoftCommunicationsControl,version6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你于控件列表中见不到MicrosoftCommunicationsControl,version6.0,那可能是你于安装VC6时没有把ActiveX壹项选上,重新安装VC6,选上ActiveX就能够了),

串口调试助手毕业论文

1. 双击运行软件 如果出错,请先安装Microsoft .NET Framework 2.0,即微软.NET 2.0虚拟机。 第一次运行时,请先阅读使用协议,并单击“我同意”。如图1.1所示。 图1.1 第一次运行时请阅读使用协议,单击“我同意” 图1.2 JCBus串口调试助手的工作区域 随后,可以看到如图1.2所示的软件工作区域: 1.1标题栏:显示为“JCBus串口调试助手” 1.2菜单栏:包括“文件”、“帮助” 等菜单项目 1.3串口参数设置区:用于设置串口名称、波特率、校验位、数据位和停止位等 1.4调试结果解析区:用于解析调试过程中的数据,使数据在16进制、10进制等之间转换。 1.5调试区:分“消息应答”和“自动接收”两种调试方式。 A.“消息应答”:软件向设备发送一条消息后接收设备回应的信息;

B.“自动接收”:软件只负责接收设备发送的消息并在界面上显示出来。 两种方式可以通过点击“消息应答”或者“自动接收”标签页来切换。 1.6显示区:处于调试区的中间位置1.7调试操作区:记录“消息应答” 方式的详细调试操作 2设置串口参数 软件使用单串口调试设备,所以必须正确地设置串口参数。软件启动后将自动识别所有可用的串口,并打开第一个可用的串口,如图2.1所示。 图2.1 JCBus串口调试助手启动后,默认打开第一个可用的串口如果要使用另一个串口或者更改当前串口的设置,请先单击“关闭”按钮,软件将显示串口已经关闭,如图2.2所示。 图2.2 设置串口参数前,请先关闭已经打开的串口您可以设置的参数有: A.串口:软件自动识别所有可用的串口,您只需要在下拉框中选择即可; B.波特率:除了常规的2400、4800、9600、19200和38400以外,只要您的硬件允许,您还可以输入其他波特率; C.校验位:可以选择“无”、“奇校验位”、“偶校

串口调试助手VC++6.0程序

串口调试助手源程序 及编程详细过程 作者:龚建伟 2001.6.20 可以任意转载,但必须注明作者和说明来自https://www.doczj.com/doc/ce11610634.html,,不得作为商用 目次: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 在众多网友的支持下,串口调试助手从2001年5月21日发布至今,短短一个月,在全国各地累计下载量近5000人次,在近200多个电子邮件中,20多人提供了使用测试意见,更有50多位朋友提出要串口调试助手的源代码,为了答谢谢朋友们的支持,公开推出我最初用VC控件MSComm编写串口通信程序的源代码,并写出详细的编程过程,姑且叫串口调试助手源程序V1.0或VC串口通讯源程序吧,我相信,如果你用VC编程,那么有了这个代码,就可以轻而易举地完成串口编程任务了。(也许本文过于详细,高手就不用看) 开始吧: 1.建立项目:打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,

串口调试助手使用规范V15.01(试用)

串口调试助手使用规范(试用) ——截取指令方法
版本:V15.01 日期:2015.0128 类别:APP 使用规范
1
串口调试助手使用规范(试用) 截取指令方法
广州市英沙电子系统有限公司 2015-01-28 发布

串口调试助手使用规范(试用) ——截取指令方法
版本:V15.01 日期:2015.0128 类别:APP 使用规范
2
目 录
1 引言 ................................................................................................................................................................................... 3 2 使用前准备........................................................................................................................................................................ 3 3 串口调试助手及其安装 ................................................................................................................................................... 3 4 串口线与设备的物理连接 ............................................................................................................................................... 4 5 串口调试助手截取指令步骤 ............................................................................................................................................ 4 6 分析截取的指令............................................................................................................................................................... 6?

LabVIEW串口通信详解

目录 1.串口扩展的问题: (2) 2.串口功能的确认: (2) 3.串口线的检查: (3) 4.串口参数设置: (4) 5.在LabVIEW中使用串口 (5) 5.2被动接收类型 (6) 6.串口数据类型的转换 (9) 6.1LabVIEW从串口接收数据 (9) ① (9) ② (10) 6.2使用LabVIEW发送数据 (10) ① (10) ② (10) 7.串口问题汇总: (11) 7.1串口资源被占用: (11)

LabVIEW串口通信详解 LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA 这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到: https://www.doczj.com/doc/ce11610634.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:

VBNET开发全功能串口调试助手

https://www.doczj.com/doc/ce11610634.html, 开发全功能串口调试助手(含完整工程) 小记:https://www.doczj.com/doc/ce11610634.html, 的串口通信用了很长时间了,也只用 Write 和Read 这样的方 法,以前都是用这种方式做上位机软件, 如此足矣。而前几天研究GSM 模块时对 串口返回的数据总是把握不好,参考开发板附送的例程,发现采用 SerialPort 的DataReceived 事件,可以实现中断触发式的数据接收。于是想到要自己做一 个串口调试助手,在实现基本功能的前提下增加一些方便自己调试的功能。 经过 断断续续的编写,就做成了下面这个小软件: 这个软件能够实现串口调试助手的全部功能,经过通信测试,数据接收性能 不亚于呼啸工作室的SComAssistant2.2,通过加大输入缓冲区,可以满足大量 数据接收。 https://www.doczj.com/doc/ce11610634.html, 的串口通信主要使用 VS 自带的SerialPort 控件,而不是早先的 MSComm 更具有兼容性,这也是很久以前就放弃 VB 改用.NET 的直接原因。该控 件的主要方法、属性如下(该数据来自 VS 的MSD 帮助库):

想要通过串口收发数据,就需要对串口进行配置,包括设置端口、波特率、数据格式(如COM端口、9600bps、8位数据位、无校验位、1位停止位)等属性,之后通过Open方法打开串口。打开串口可通过手动指定,也可以使用GetPortNames 方法获取计算机中存在的串口。如果打开出错,则可能是串口不存在或者已被占用。下面是相应代码: Private SubSerialPortOpen() On Error GoToErr If SerialPort.IsOpen = True ThenSerialPort.Close() '避免重复打开端 口 SerialPort.Ope n() LabelCOMStatus.Text ="串口已打开" Exit Sub Err: MsgBox(‘ 串口不存在或已被占用!" + vbNewLine + ErrorToString()) ' 出现错误,显示错误信息 En dSub 如果想要在串口中支持中文字符收发,则可在初始化时设置串口控件的编码: SerialPort.E ncodi ng = System.Text.E ncodi ng.Default 发送数据通过Write方法来完成,由于串口调试助手需要支持文本和16进制, 需要加入转换代码: Private SubButtonSendData_Click( ByVal sender AsSystem.Object, ByVal e AsSystem.EventArgs) Handles ButtonSendData.Click On Error GoToErr

Android 串口编程原理和实现方式附源码

提到串口编程,就不得不提到JNI,不得不提到JavaAPI中的文件描述符类:。下面我分别对JNI、以及串口的一些知识点和实现的源码进行分析说明。这里主要是参考了开源项目android-serialport-api。 串口编程需要了解的基本知识点:对于串口编程,我们只需对串口进行一系列的设置,然后打开串口,这些操作我们可以参考串口调试助手的源码进行学习。在Java中如果要实现串口的读写功能只需操作文件设备类:即可,其他的事都由驱动来完成不用多管!当然,你想了解,那就得看驱动代码了。这里并不打算对驱动进行说明,只初略阐述应用层的实现方式。 (一)JNI: 关于JNI的文章网上有很多,不再多做解释,想详细了解的朋友可以查看云中漫步的技术文章,写得很好,分析也很全面,那么在这篇拙文中我强调3点: 1、如何将编译好的SO文件打包到APK中?(方法很简单,直接在工程目录下新建文件夹libs/armeabi,将SO文件Copy到此目录即可) 2、命名要注意的地方?(在编译好的SO文件中,将文件重命名为:lib即可。其中是编译好后生成的文件) 3、MakeFile文件的编写(不用多说,可以直接参考package/apps目录下用到JNI的相关项目写法) 这是关键的代码: [cpp]view plaincopy

(二):

文件描述符类的实例用作与基础机器有关的某种结构的不透明句柄,该结构表示开放文件、开放套接字或者字节的另一个源或接收者。文件描述符的主要实际用途是创建一个包含该结构的或。这是API的描述,不太好理解,其实可简单的理解为:就是对一个文件进行读写。 (三)实现串口通信细节 1) 建工程:SerialDemo包名:org.winplus.serial,并在工程目录下新建jni和libs两个文件夹和一个org.winplus.serial.utils,如下图: 2) 新建一个类:SerialPortFinder,添加如下代码: [java]view plaincopy 1.package org.winplus.serial.utils; 2. 3.import java.io.File; 4.import java.io.; 5.import java.io.IOException; 6.import java.io.LineNumberReader; 7.import java.util.Iterator; 8.import java.util.Vector; 9. 10.import android.util.Log; 11. 12.public class SerialPortFinder { 13. 14.private static final String TAG = "SerialPort"; 15.

LabView串口仪器控制

[Labview经验] 小草手把手教你 LabVIEW 串口仪器控制——VISA 串口配置 [复制链接] 2228 查看 7 回复 | 发表于 2015-1-26 13:39:01 只看该作者倒序浏览 建议大家按我发帖子的顺序来看,方便大家理解。请不要跳跃式的阅读。很多人现在看书,都跳跃式的看,选择性的看,导致有些细节的部分没有掌握到,然后又因为某个细节耽误很多时间。以上只是个人建议,高手可以略过本帖。 从手把手系列第 1 贴我就写了,用 LabVIEW 来写串口驱动控制仪器,只需要下图的几个函数即可。 事实上,真的只需要下面几个函数。 所以,LabVIEW 写个串口程序,其实很简单的。 问题是,有很大部分的人,问的就是串口,这个问题,那个问题。没写过串口的人可能会问:你都说了串口很简单啊,就那么几个函数,为什么还有这么多人在问? 我只能回答:不注重细节和自己的程序思维。 一般的串口控制结构是: ①配置(打开)串口 ②读写串口 ③关闭串口 我觉得这几个之间,配置 VISA 串口,是个很需要斟酌的部分。配置串口是进入串口通讯的钥匙。首先你配置成功了,才能进行正确的通讯。 下面开始进入正题,先看下 VISA 配置串口函数。

配置串口时候,最好是在对应的参数端口那里,右键,新建常量或者输入控件,然后再在新建出来的上面修改。因为,新建出来的数据类型,肯定是对的。 需要注意的是:①停止位那里,不是常数 1 1.5 2 等,实际是 10,15,20 数值。这里最好右键新建常量然后选择对应的枚举类型,如上图所示。 更需要注意的是:②配置串口,顶端有个启用终止符,一般默认是真,终止符一般默认是 OA,即换行符。

串口调试助手c开发

1.建立项目: 打开VC+ + 6.0,建立一个基于对话框的MFC应用程序SCommTest(与我 源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件 选择Project菜单下Add To Project子菜单中的Componentsand Controls,选项,在弹出的对话框中双击Registered ActiveXControls项(稍等一会,这个过程较慢),则所有注册过的ActiveX控件出现在列表框中。选择Microsoft Communications Control,version6.0,,单击Insert 按钮将它插入到我们的Project 中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX 一项选上,重新安装VC6,选上ActiveX就可以了),这时在ClassView 视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。3.利用ClassWizard定义CMSComm类控制对象 打开ClassWizard- >Member Viariables 选项卡,选择CSCommTestDlg^,为IDC_MSCOMM1添加控制变量:m_ctrlCom m,这时你可以看一看,在对话框头文件中自动加入了//{{AFX_INCLUDES()#include "mscomm.h" //}}AFX_INCLUDES (这时运行程序,如果有错,那就再从头开始)。 4 .在对话框中添加控件 向主对话框中添加两个编辑框,一个用于接收显示数据ID为 IDC_EDIT_RXDATA另一个用于输入发送数据,ID为IDC_EDIT_TXDAT A再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其ID设为 IDC_BUTTON_MANUALSEND别忘记了将接收编辑框的Prop erties->Styles 中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。

基于labview串口助手设计

学院:华东交通大学机电工程学院班级:2012xxxxxx 学号:2012xxxxxxxx 姓名:xxxx

目录 《虚拟仪器设计》课程设计任务书 (2) 1.引言 (4) 2. labview及串口通信简介 (4) 2.1 Labview (4) 2.2串口通信简介 (5) 3.串口相关节点介绍 (6) 3.1 VISA配置串口 (6) 3.2 设置缓冲区大小 (7) 3.3visa写入 (7) 3.4 VISA读取 (7) 4.程序框图设计 (8) 4.1 串口初始化输入模块 (8) 4.2数据发送程序 (9) 4.3数据接收 (9) 4.4字节数显示 (10) 4.5 属性节点设置 (10) 5.前面板设计 (10) 6.结语 (11) 7.心得体会 (12) 8. 参考文献 (13)

华东交通大学机电工程学院 《虚拟仪器设计》课程设计任务书 学生姓名:高俊须学号:20120310110212 一、设计题目 串口调试助手设计 二、设计目的和要求 通过对虚拟仪器的设计,了解虚拟仪器设计的基本原理及常用的对象使用方法;通过设计一台虚拟式数据采集系统、图形识别系统、通过串口、并口控制、测温系统、转速测量系统等,了解虚拟仪器数据采集卡的使用及设置,并口或串口的数据传输,了解虚拟编程中如何使用非NI公司的数据采集卡或电脑中常用的声卡,如何配置DAQ助手等,学会把外界物理信号采集到计算机并进行简单分析或者通过虚拟仪器产生符合要求的信号并通过声卡输出或者学会利用NI的ELVIS系统设计简单的测量软件。加深虚拟仪器知识、单片机的了解,培养学生运用虚拟仪器思想解决工程实际问题的能力。 二、设计内容 A.详细要求: (1)串口可选;(2)波特率可调;(3)串口通讯方式可调(9位还是11位); (4)校验方式可选(奇校验偶校验);(5)设计界面要标准 B.前面板上要设置必要的控件对象以设置相应参数。 C.设计界面要美观,程序可读性好。 三、设计进度安排 设计时间总计2周 课程设计任务及要求讲解(0.5天) 设计任务分析及查找资料(1.5天) 程序编制及调试(5.5天) 设计说明书撰写(2天) 答辩(0.5天) 四、设计任务书应包括的主要内容 目录设计题目任务分析实现过程程序前面板及流程图

串口调试助手代码分析42

第5章串口调试助手代码分析 1、建立基于对话框的工程SCOMM 2、绘制界面,如下图: 接收区 串口组合框:IDC_COMBO_COMSELECT,m_Com 波特率组合框:IDC_COMBO_SPEED,m_Speed 停止位组合框:IDC_COMBO_STOPBITS,m_StopBits 数据位组合框:IDC_COMBO_DATABITS,m_DataBits 校验位组合框:IDC_COMBO_PARITY,m_Parity 十六进制显示(接收):IDC_CHECK_HEXRECIEVE,m_ctrlHexReceieve 接收编辑框:IDC_EDIT_RECIVE ,m_ReceiveData m_ctrlReceiveData Style:Vertical Scroll MultiLine 打开串口IDC_BUTTON_OPENPORT,m_ctrlOpenPort 串口开关标志图标IDC _STATIC_OPENOFF,m_ctrlIconOpenoff 数据文件保存路径IDC _EDIT_SA VEPATH,m_strCurPath 保存显示数据文件路径IDC _EDIT_SA VEPATH, m_ctrlSavePath 接收计数IDC_STATIC_RXCOUNT ,m_ctrlRXCOUNT 发送区 …。。。。。。。。。。。。。。 3、添加CSeraiPort类文件 将类文件SerialPort.h SerialPort.cpp 复制到工程所在文件夹中(选择改进

后的类),然后单击VC 6.0菜单Projrct -> Add to Projrct ->Files… ,再在打开的文件选择对话框中选择SerialPort.h 和SerialPort.cpp ,点击OK,就把类文件加入当前工程,并在SCOMMDlg.h 中加入头文件,#include "SerialPort.h",通过上述步骤就在当前工程中加入了CSeraiPort类。 4、完成串口消息处理函数OnCommunicatiom 在CserailPort 类中有多个串口事件可以响应。在一般串口编程中,只需要处理WM_COMM_RXCHAR消息就可以了,该类所有的消息均需要人工添加消息处理函数。我们将处理函数名定义为OnComm()。首先在SCOMMDlg.h 中添加串口字符接收消息WM_COMM_RXCHAR(串口接收缓冲区内有一个字符)响应函数的声明:如下图 然后,在SCOMMDlg.cpp文件中进行WM_COMM_RXCHAR消息映射: 如下图; 接着,在SCOMMDlg.cpp 文件中加入函数OnCommunication(WPARAM ch, LPARAM port)的实现,暂不添加代码。 LONG CSCOMMDlg::OnCommunication(WPARAM ch, LPARAM port) { return 0; } 以上步骤需要手工完成。 至此完成了程序的对话框模板,在工程中插入了串口操作类CserailPort类。5、添加串口初始化及关闭 程序中有两种方法大开串口,一是程序启动,调用OnInitDialog()函数,就可以打开串口,缺省的串口号为COM1,如果COM1不存在或占用,就会给出提示;另外,单击“打开串口”按钮也可以打开串口。 //在初始化中打开串口 BOOL CSCOMMDlg::OnInitDialog() { m_nBaud=9600;//波特率 m_nCom=1;//串口号 m_cParity='N';//奇偶校验

串口调试助手C++开发

1.建立项目: 打开VC++6.0,建立一个基于对话框的MFC应用程序SCommTest(与我源代码一致,等会你会方便一点); 2.在项目中插入MSComm控件 选择Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中双击Registered ActiveX Controls项(稍等一会,这个过程较慢),则所有注册过的ActiveX 控件出现在列表框中。选择Microsoft Communications Control, version 6.0,,单击Insert按钮将它插入到我们的Project中来,接受缺省的选项。(如果你在控件列表中看不到Microsoft Communications Control, version 6.0,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了),这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序运行后,这个图标是看不到的。

3.利用ClassWizard定义CMSComm类控制对象 打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg类,为IDC_MSCOMM1添加控制变量:m_ctrlComm,这时你可以看一看,在对话框头文件中自动加入了//{{AFX_INCLUDES() #include "mscomm.h" //}}AFX_INCLUDES (这时运行程序,如果有错,那就再从头开始)。 4.在对话框中添加控件 向主对话框中添加两个编辑框,一个用于接收显示数据ID为IDC_EDIT_RXDATA,另一个用于输入发送数据,ID为IDC_EDIT_TXDATA,再添加一个按钮,功能是按一次就把发送编辑框中的内容发送一次,将其ID设为IDC_BUTTON_MANUALSEND。别忘记了将接收编辑框的Properties->Styles中把Miltiline和Vertical Scroll属性选上,发送编辑框若你想输入多行文字,也可选上Miltiline。 再打开ClassWizard->Member Viariables选项卡,选择CSCommTestDlg 类,为IDC_EDIT_RXDATA添加CString变量m_strRXData,为

纯业余者用VC(MFC)编写串口调试助手(含VC6工程源文件)

纯业余者用VC(MFC)编写串口调试助手 1.序 毕业到现在,转眼就做射频开发10年了,一直从事直放站、干放等通信边缘行业,从低噪放、锁相源、选频、功放到整机,射频就那么点东西,而且越来越集成化,软件无线电是必然趋势。做射频从业面会越来越窄,我知道所有人都会说,当你成为专家的时候,一切就都不是问题,可有几个真正的专家,再者说,射频需要经验的积累,只有实际项目做的越多越广,经验也就积累得越多,并不是一朝一夕能达到的。 前不久突然觉得,我的射频模块控制要是也是自己来编程控制多好啊!那就得学单片机编程,学习上位机编程了,可我都不会啊,要不就先来整整上位机,windows方面的。大学唯一学的编程语言是C语言,可根本不能理解用C做什么,还都还给老师10多年了,这怎么办?从BASIC,C/C++,JAVA,PASCAL搜索了一圈,还是选C++吧,毕竟是C 语言发展而来,用VC环境,身边有可以请教的人。在网上转悠了很久,发现《windows 程序设计》是必看,《MFC Windows程序设计》是学MFC最经典的书籍。OMG,这些书啊,都是上千页的,白天都在上班,哪有时间看哦,只有先下载下来作为参考资料了。 扯远了啊。这也不行那也不行,怎么办呢?干脆硬着头皮上吧,找几个实例照搬,再修修改改加深理解吧。 第一个目标,自己编写个串口调试助手,掌握串口通信编程,这样上位机的编写就有希望了。 好了,目标定下来了。网上下载了个串口调试助手,确定基本功能: 1.自动寻找串口,并自动添加到下拉框中共选择; 2.有波特率、数据位、停止位、校验位的选择设置; 3.串口打开控制按钮; 4.发送、清除按钮; 5.接收是自动实现的; 6.有定时自动发送功能; 7.有传送文件功能; 8.有状态栏显示,指示串口状态,设置参数和发送接收显示。 下面就一步步实现,本人纯业余,只是记录下来这个学习过程,请勿拍砖。 开发平台Visual C++6.0英文版,电脑是i7-2670Q四核8G内存1G独显的笔记本,装的win7 64位旗舰版,因此VC6兼容不是太好,有些小毛病,不过不影响编写。

非常好--LabVIEW串口通信详解

LabVIEW串口通信详解 串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地方,谢谢。 论坛上早先发布过一个贴子,叫《串口WORD资料》,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。 首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。 VISA的驱动可以在NI网站上下载到:https://www.doczj.com/doc/ce11610634.html,/nidu/cds/view/p/id/1605/lang/zhs 1.串口扩展的问题: 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装驱动的。 2.串口功能的确认: 在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口的2、3脚短接起来,3脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:图1 串口调试助手 打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。 3.串口线的检查: 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但有一些是只使用了三根线的:2、3、5。第3个脚管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定好串口线的类型,一般买的串口线都是标准线,但自制的串口线因为应用场合不同就要先确定一下。 G串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常使用。但是有些情况下,2、3是直连的,即这边的第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。购买串口线的时候一般也会问你买直连的还是交叉的,要区别对待。 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是公头,所以二边都是母头的串口线比较常见。串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽! 总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。 4.串口参数设置: 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。一个是串口初始化这个节点的“终

相关主题
文本预览
相关文档 最新文档