串口通信调试助手设计

串口通信调试助手设计
串口通信调试助手设计

串口通信调试助手设计

学生:(宋体五号居中)

指导教师:(宋体五号居中)

(楷体五号居中)

1 发展历史和由来

串口的出现是在1980年前后,数据传输率是115kbps~230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,目前部分新主板和大部分便携电脑已开始取消该接口。目前串口多用于工控和测量设备以及部分通信设备中。

2 串口通信划分种类

串口通信的两种最基本的方式:同步串行通信方式和异步串行通信方式。

同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息,TRM450是SPI接口。

异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口和RS232电平的串口。TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口。

串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。

3 各类串口协议简介

3.1 各类串口的比较

从其发展历史、各自特点来介绍各种协议,RS232和RS485的区别和接法。首先是发展历史。最开始出现的串口通信协议是RS232,1962年发布的。由于其传输速度、单向传递、传输距离短等多方面的制约,因此使用受到限制。于是人们在RS232的基础上做了相应的改进,提高了相应的传输速度、传输距离,于是出现了RS422的雏形,并在工业上得到了相应的应用。但由于任然是单向传输的,使构成的网络只能是单向的。既只能是主机给从机发送指令或数据,从机只能接受并处理相应的消息,不能反映相应的结果。于是人们又做了相应的调整。最后于1983年发布了RS485通信协议。正如前面所说的。RS232协议是一种简单的串口通信协议,也是最基本的。一般用在实验室等短距离、对传输速度等要求不高的场合,并且与TTL电平不兼容。RS422有了相应的提高。是一种单机发送,多机接收的平衡通信协议接口,传输速度最高可以达到10Mbps,传输距离最远可达到4000英尺,并且在这条平衡总线上能最多带10个从机,但是任然是单向的传输。RS485是一种多点,双向通信的平衡通信协议接口。再RS422的基础上增加了网络中接点(多机)的数量和双向通信能力,同时还增加了驱动器的传输能力和冲突保护特性,扩展了总线共模范围。传输速度最高可以达到10Mbps,标准距离可以达到4000英尺,实际能达到3000米,并且在这条线上最多可以带128个收发器。RS232和RS485的区别: 1.传输速度不同。RS485可以达到10Mbps,高于RS232的速度。 2.电气特性不同。RS485采用的是平衡驱动器和差分接收器的组合。RS485是输出的是差分信号,抗共模干扰能力强。逻辑“1”是两输出信号的+(2~6)V,“0”是-(2~6)V表示。电气信号低于RS232的电气信号,不容易损坏接口芯片,并且与TTL电平兼容。 3.传输距离不同。RS485标准距离为4000英尺,实际可以达到3000米。远远大于RS232的距离。 4.接收器数量不同。RS485接收器最多可以达到128个,即多站能力。而RS232只能是一个,即单站接点。

5.RS232是全双工的通信协议,RS485是半双工的通信协议。

接口方法:一般RS232和RS485都采用屏蔽双绞线传输。RS485和RS232都采用DB9的接头

3.2 各类串口的协议

串行通信协议:计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。

1、串行通信的基本概念

(1)同步和异步通信方式

串行通信有两种最基本的通信方式:同步串行通信方式和异步串行通信方式。同步串行通信方式是指在相同的数据传送速率下,发送端和接受端的通信频率保持严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发送器和接受器的成本较高。异步串行通信是指发送端和接受端在相同的波特率下不需要严格地同步,允许有相对的时间时延,即收、发两端的频率偏差在10%以内,就能保证正确实现通信。异步通信在不发送数据时,数据信号线上总是呈现高电平状态,称为空闲状态(又称MARK状态)。当有数据发送时,信号线变成低电平,并持续一位的时间,用于表示发送字符的开始,该位称为起始位,也称SPACE状态。起始位之后,在信号线上依次出现待发送的每一位字符数据,并且按照先低位后高位的顺序逐位发送。采用不同的字符编码方案,待发送的每个字符的位数不同,在5、6、7或8位之间选择。数据位的后面可以加上一位奇偶校验位,也可以不加,由编程指定。最后传送的是停止位,一般选择1位、1.5位或2位。

(2)数据传送方式

①单工方式。单工方式采用一根数据传输线,只允许数据按照固定的方向传送。图8(a)中A只能作为发送器,B只能作为接收器,数据只能从A传送到B,不能从B传送到A。

②半双工方式。半双工方式采用一根数据传输线,允许数据分时地在两个方向传送,但不能同时双向传送。图8(b)中在某一时刻,A为发送器,B为接收器,数据从A传送到B;而在另一个时刻,A可以作为接收器,B作为发送器,数据从B传送到A。

③全双工方式。全双工方式采用两根数据传输线,允许数据同时进行双向传送。图8(c)中A和B具有独立的发送器和接收器,在同一时刻,既允许A向B 发送数据,又允许B向A发送数据。

(3)波特率波特率是指每秒内传送二进制数据的位数,以b/s和bps(位/秒)为单位。它是衡量串行数据传送速度快慢的重要指标和参数。计算机通信中常用的波特率是:110,300,600,1200,2400,4800,9600,19200bps。

(4)串行通信的检错和纠错在串行通信过程中存在不同程度的噪声干扰,这些干扰有时会导致在传输过程中出现差错。因此在串行通信中对数据进行校验是非常重要的,也是衡量通信系统质量的重要指标。检错,就是如何发现数据传输过程中出现的错误,而纠错就是在发现错误后,如何采取措施纠正错误。

①误码率误码率是指数据经传输后发生错误的位数与总传输位数之比。在计算机通信中,一般要求误码率达到10-6数量级。误码率与通信过程中的线路质量、干扰、波特率等因素有关。

②奇偶校验奇偶校验是常用的一种检错方式。奇偶校验就是在发送数据位最后一位添加一位奇偶校验位(0或1),以保证数据位和奇偶校验位中1的总和为奇数或偶数。若采用偶校验,则应保证1的总数为偶数;若采用奇校验,则应保证1的总和为奇数。在接受数据时,CPU应检测数据位和奇偶校验位中1的总数是否符合奇偶校验规则,如果出现误码,则应转去执行相应的错误处理服务程序,进行后续纠错。

③纠错在基本通信规程中一般采用奇偶校验或方阵码检错,以重发方式进行纠错。在高级通信中一般采用循环冗余码(CRC)检错,以自动纠错方式来纠错。一般说来,附加的冗余位越多,检测、纠错能力就越强,但通信效率也就越低。

2、串行通信接口标准

串行通信接口按电气标准及协议来分包括RS-232、RS-422、RS485、USB等。RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。

(1)RS-232串行接口

目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通信。

①脚定义

RS-232物理接口标准可分成25芯和9芯D型插座两种,均有针、孔之分。其中TX(发送数据)、RX(接受数据)和GND(信号地)是三条最基本的引线,就可以实现简单的全双工通信。DTR(数据终端就绪)、DSR(数据准备好)、RTS(请求发送)和CTS(清除发送)是最常用的硬件联络信号。

RS-232接口定义及连线

RS-232/串口/异步口/com(通信)口

严格的讲RS-232接口是DTE(数据终端设备)和DCE(数据通信设备)之间的一个接口。远程通信终端设备DTE ( Date Terminal Equipment )

数据通信设备DCE ( Data Communcation Equipment )

DTE包括计算机、终端、串口打印机等。(针输出)

DCE通常有调制解调器(MODEM)和某些交换机com口。(孔输出)

RS-232C 标准中提到的“发送”和“接收”,都是站在DTE立场立场上。

1.电气特性

TxD RxD

逻辑1(MARK)= -3v ~ -15v

逻辑0(MARK)= +3v ~ +15v

RTS CTS DSR DTR DCD 等

信号有效(接通,ON状态,正电压)= +3v ~ +15v

信号无效(断开,OFF状态,负电压)= -3v ~ -15v

与TTL以高低平表示逻辑状态的规定不同。因此,为了能同计算机接口或终端的

TTL器件连接,必须进行电平和逻辑关系的变换。广泛采用集成电路转换器件,

MC1488、SN75150(TTL->EIA)、MAX232(TTL<->EIA)。

2.连接器的机械特性

DB-9连接器:AT机以后,不支持20MA电流环接口,使用DB-9,作为提供多若功

能I/O卡或主板上COM1/COM2两个串口的连接器。电缆长度:通信速率低

于20kb/s时,RS-232C直接连接最大15m。最大传输距离:若不使用MODEM,码元畸变小于4%的情况下,最大15m。 3.RS-232C的接口信号常用的只

有9根,标准25根,4条数据、11条控制线、3条定时、7条备用。

远距离通信 1.采用MODEM(DCE)和电话网通信连接发送数据,只要通信链路已

建立,就可传送信号。RTS/CTS可只用于半工发送/接收切换。DTE获CTS,通过

TxD线向DCE发出串行信号。计算机向DCE“数据输出寄存器”传送新的数据。当

对方DCE收到载波信号后,向对方DTE发出DCD信号。 2.采用专用电话通信:

只使用2-8号信号线,不需要RI、DTR。

近距离通信

1.零MODEM(3线制) <1> RTS与CTS互联:只要请示,立即得到允许。<2>

DTR与DSR互联:只要本端准备好,立即认为本端可以接收。

2.零MODEM标准连接<1> 当甲方DTE准备好,发出DTR信号,该信号直接联至乙方的RI和DSR,即只要甲方准备好,乙方立即产生呼叫RI有效,并用时准备好DSR,尽管乙方并不存在DCE。<2> 甲方RTS和CTS相连,并与乙方DCD互连。即:一旦甲方请求,立即得到允许CTS,同时乙方DCD有效,即检测到载波信号。<3> 甲方TxD与乙方RxD相连,一发一收。

--------------------------------------------------------------------------------

DTE 9芯25芯25芯9芯DCE

终端 3 02 <------------> 02 3 通信

针输出 2 03 <------------> 03 2 针输出

7 04 <------------> 04 7

8 05 <------------> 05 8

6 06 <------------> 06 6

5 07 <------------> 07 5

1 08 <------------> 08 1

4 20 <------------> 20 4

9 22 <------------> 22 9

按照RS232标准,传输速率一般不超过20kbps,传输距离一般不超过15M。实际使用时通信速率最高可达115200bps。

②RS232串行接口基本接线原则设备之间的串行通信接线方法,取决于设备接口的定义。设备间采用RS232串行电缆连接时有两类连接方式:

直通线:即相同信号(Rxd对Rxd、Txd对Txd)相连,用于DTE(数据终端设备)与DCE (数据通信设备)相连。如计算机与MODEM(或DTU)相连。

交叉线:即不同信号(Rxd对Txd、Txd对Rxd)相连,用于DTE与DTE相连。③RS232的三种接线方式

三线方式:即两端设备的串口只连接收、发、地三根线。一般情况下,三线方式即可满足要求,如监控主机与采集器及大部分智能设备之间相连。

4 所使用到的技术分析

在VC++中有两种方法可以进行串口通讯。一种是利用Microsoft公司提供的ActiveX 控件Microsoft Communications Control。另一种是直接用VC++访问串口。

下面将简述这两种方法。

一、Microsoft Communications Control

Microsoft公司在WINDOWS中提供了一个串口通讯控件,用它,我们可以很简单的利用串口进行通讯。在使用它之前,应将控件加在应用程序的对话框上。然后再用ClassWizard 生成相应的对象。现在我们可以使用它了。该控件有很多自己的属性,你可以通过它的属性窗口来设置,也可以用程序设置。推荐用程序设置,这样更灵活。SetCommPort:指定使用的串口。

GetCommPort:得到当前使用的串口。

SetSettings:指定串口的参数。一般设为默认参数"9600,N,8,1"。这样方便与其他串口进行通讯。

GetSettings:取得串口参数。

SetPortOpen:打开或关闭串口,当一个程序打开串口时,另外的程序将无法使用该串口。

GetPortOpen:取得串口状态。

GetInBufferCount:输入缓冲区中接受到的字符数。

SetInPutLen:一次读取输入缓冲区的字符数。设置为0时,程序将读取缓冲区的全部字符。

GetInPut:读取输入缓冲区。

GetOutBufferCount:输出缓冲区中待发送的字符数。SetOutPut:写入输出缓冲区。一般而言,使用上述函数和属性就可以进行串口通讯了。

以下是一个范例。

#define MESSAGELENGTH 100 class CMyDialog :

public CDialog { protected: VARIANT InBuffer; VARIANT OutBuffer; CMSComm m_Com; public: ...... }

BOOL CMyDiaLog::OnInitDialog() { CDialog::OnInitDialog(); m_Com.SetCommPort(1); if (!m_Com.GetPortOpen())

{ m_Com.SetSettings("57600,N,8,1"); m_Com.SetPortOpen(true); m_Com.SetInBufferCount(0);

SetTimer(1,10,NULL);

InBuffer.bstrVal=new unsigned short[MESSAGELENGTH]; OutBuffer.bstrVal=new unsigned short[MESSAGELENGTH]; OutBuffer.vt=VT_BSTR; }

return true; }

void CMyDiaLog::OnTimer(UINT nIDEvent) { if (m_Com.GetInBufferCount()>=MESSAGELENGTH) { InBuffer=m_Com.GetInput();

// handle the InBuffer.

// Fill the OutBuffer. m_Com.SetOutput(OutBuffer); } CDialog::OnTimer(nIDEvent); } 用该控件传输的数据是UNICODE格式。关于UNICODE和ANSI的关系和转换请参看MSDN。

二、直接用VC++访问串口。

在VC++中,串口和磁盘文件可以统一的方式来简单读写。这两者几乎没有什么不同,只是在WINDOWS 9X下磁盘文件只能做同步访问,而串口只能做异步访问。CreateFile:用指定的方式打开指定的串口。通常的方式为m_hCom = CreateFile( "COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL ); m_hCom为文件句柄。GENERIC_READ | GENERIC_WRITE指定可以对串口进行读写操作。

第三个参数0表示串口为独占打开。OPEN_EXISTING表示当指定串口不存在时,程序将返回失败。FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED则表示文件属性。当打开串口时,必须指定FILE_FLAG_OVERLAPPED,它表示文件或设备不会维护访问指针,则在读写时,必须使用OVERLAPPED 结构指定访问的文件偏移量。ReadFile:读取串口数据。

WriteFile:向串口写数据。

CloseHandle:关闭串口。

COMMTIMEOUTS:COMMTIMEOUTS主要用于串口超时参数设置。COMMTIMEOUTS结构如下:

typedef struct _COMMTIMEOUTS {

DWORD ReadIntervalTimeout;

DWORD ReadTotalTimeoutMultiplier;

DWORD ReadTotalTimeoutConstant;

DWORD WriteTotalTimeoutMultiplier;

DWORD WriteTotalTimeoutConstant; }

COMMTIMEOUTS,*LPCOMMTIMEOUTS; ReadIntervalTimeout:

两字符之间最大的延时,当读取串口数据时,一旦两个字符传输的时间差超过该时间读取函数将返回现有的数据。设置为0表示该参数不起作用。ReadTotalTimeoutMultiplier:读取每字符间的超时。ReadTotalTimeoutConstant:一次读取串口数据的固定超时。所以在一次读取串口的操作中超时为ReadTotalTimeoutMultiplier乘以读取的字节数再加上ReadTotalTimeoutConstant。将ReadIntervalTimeout设置为MAXDWORD,并将ReadTotalTimeoutMultiplier 和ReadTotalTimeoutConstant设置为0,表示读取操作将立即返回存放在输入缓冲区的字符。

WriteTotalTimeoutMultiplier:写入每字符间的超时。WriteTotalTimeoutConstant:一次写入串口数据的固定超时。所以在一次写入串口的操作中,其超时为WriteTotalTimeoutMultiplier乘以写入的字节数再加上WriteTotalTimeoutConstant。SetCommTimeouts函数可以设置某设备句柄的超时参数,要得到某设备句柄的超时参数可以用GetCommTimeouts函数。

DCB:DCB结构主要用于串口参数设置。其中下面两个是比较重要的属性。BaudRate:串口的通讯速度。一般设置为9600。

ByteSize:字节位数。一般设置为8。

DCB结构可以用SetCommState函数来设置,并可以用GetCommState来得到现有串口的属性。

SetupComm:设置串口输入、输出缓冲区。

OVERLAPPED:保存串口异步通讯的信息。具体结构如下:

typedef struct _OVERLAPPED {

DWORD Internal;

DWORD InternalHigh;

DWORD Offset;

DWORD OffsetHigh;

HANDLE hEvent; }

OVERLAPPED;

Internal,InternalHigh是保留给系统使用的,用户不需要设置。Offset,OffsetHigh是读写串口的偏移量,一般设置OffsetHigh为NULL,可以支持2GB数据。

&m_OverlappedRead );

if( !bReadStatus ){

if( GetLastError() == ERROR_IO_PENDING ){

WaitForSingleObject( m_OverlappedRead.hEvent, 2000 );

return dwBytesRead; }

return 0; }

return dwBytesRead; }

DWORD CSerial::SendData( const char *buffer, DWORD dwBytesWritten) {

if( !m_bOpened || m_hComDev == NULL ) return( 0 ); BOOL bWriteStat;

bWriteStat = WriteFile( m_hComDev, buffer, dwBytesWritten, &dwBytesWritten,

&m_OverlappedWrite );

if( !bWriteStat){

if ( GetLastError() == ERROR_IO_PENDING ) {

WaitForSingleObject( m_OverlappedWrite.hEvent, 1000 ); return dwBytesWritten; }

return 0; }

return dwBytesWritten; }

5软件简介和代码

简介:本软件能以ASCII码或十六进制接收或发送任何数据或字符,可设置所用的串口参数和自动发送时间。

软件编译,运行环境:Microsoft Visual C++ 6.0

数据发送代码

if(m_nOutPutMode > 0)

{

CByteArray hexdata;

int len=String2Hex(m_strSendString ,hexdata);

m_Com.SetOutput(COleVariant(hexdata));

}

else

m_Com.SetOutput(COleVariant(m_strSendString));//发送数据}

定时发送代码:

{

//{{AFX_DATA_INIT(CSettingDlg)

m_nPort = 1;

m_strSettings = _T("9600,n,8,1");

m_nTime = 1000;

//}}AFX_DATA_INIT

}

void CCommWizardDlg::OnReceive()

{

// TODO: Add your control notification handler code here

m_Com.GetInput();//先预读缓冲区以清除残留数据

bReceive = !bReceive;

if(bReceive)

m_ctrlReceive.SetWindowText(_T("停止接收"));

else

m_ctrlReceive.SetWindowText(_T("开始接收"));

}

void CCommWizardDlg::OnSend()

{

// TODO: Add your control notification handler code here

bSend = !bSend;

if(bSend)

{

m_ctrlSend.SetWindowText(_T("停止发送"));

SetTimer(1,m_nTime,NULL);//时间为1000毫秒

}

else

{

m_ctrlSend.SetWindowText(_T("自动发送"));

KillTimer(1); //取消定时

}

}

运行结果:

6总结与展望

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

(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)发送数据函数,先判断是否正在发送数据,如不在发送则设置当前正在发送状态,后继续判断是写序列号模式还是串口调试模式,串口调试模式时先定义发送缓冲区和

RS232串口通信实验报告

RS232串口通信实验报告 学院:电子信息学院 班级:08031102 姓名:张泽宇康启萌余建军 学号:2011301966 2011301950 2011301961 时间:2014年11月13日 学校:西北工业大学

一.实验题目: 设计一个简单的基于串口通信的信息发送和接受界面 二.实验目的: 1.熟悉并掌握RS232串口标准及原理。 2.实现PC机通过RS232串口进行数据的收发。 3.熟悉VC语言编写程序的环境,掌握基本的VC语言编程技巧。 三.实验内容 程序代码: P// PC1PC2Dlg.cpp : implementation file // #include "stdafx.h" #include "PC1PC2.h" #include "PC1PC2Dlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ////////////////////////////////////////////////////////////////////////// // CAboutDlg dialog used for App About class CAboutDlg : public CDialog { public: CAboutDlg(); // Dialog Data //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

串口调试助手使用方法

串口调试助手使用方法 你可以试试串口监控器,一个功能强大,非常易用的软件。 串口监控器是一个免费的多功能串口通讯监控软件,它能够多种方式显示,接收,分析通讯数据;能够以多种灵活方式发送数据;功能强大,操作简便,在串口通讯监控,设备通讯测试中,能够有效提高工作效率。 主要功能如下: 接收数据: 1. 以十六进制方式显示接收到的数据。 2. 以字符方式显示接收到的数据。 3. 数据帧自动识别,分行显示。 4. 接收数据自动换行设置。 5. 显示或隐藏数据帧的接收时间。 6. 自动清除,自动保存接收到的数据。 7. 接收数据个数计数。 发送数据: 1. 十六进制方式发送数据。 2. 字符串方式发送数据。 3. 发送“发报窗口”当前光标行的数据帧。 4. 循环发送“发报窗口”当前光标行的数据帧。 5. 循环发送“发报窗口”固定行的数据帧。 6. 循环依次发送“发报窗口”的多行数据帧。(设置起始行,行数) 7. 触发发送,接收到“发报窗口”某一行数据,触发发送“发报窗口”另一行数据。 8. 发送数据个数计数。 实用增强功能: 1. 强大易用的进制转换功能。 2. 智能识别当前光标处数据帧的行号,“字符”或“十六进制数”的个数。 3. 智能计算当前选择的“字符”或“十六进制数”的个数。 4. 强大的数据查找功能。 5. 定时保存,定时清除数据。 6. 根据自己的喜好,灵活变换操作界面。

应用场合: 1. 截取和分析设备之间通讯数据流。 2. 串行外围设备硬件开发。 3. 串行设备驱动程序开发。 4. 调试和测试设备和设备之间的串行通讯过程。 5. 记录和分析RS232/422/485通信过程。 6. 模拟某设备通讯过程,对另外设备进行通讯测试。

串口调试助手毕业论文

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.校验位:可以选择“无”、“奇校验位”、“偶校

RS232串口通信详解

串口就是计算机上一种非常通用的设备通信协议。 --------------------------------- 串口的引脚定义: 9芯信号方向来自缩写描述 1调制解调器CD载波检测 2调制解调器RXD接收数据 3PC TXD发送数据 4PC DTR数据终端准备好 5GND信号地 6调制解调器DSR通讯设备准备好 7PC RTS请求发送 8调制解调器CTS允许发送 9调制解调器RI响铃指示器 两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。--------------------------------- 串口的电气特性: 1)RS-232串口通信最远距离就是50英尺 2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps 3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片:

--------------------------------- 串口通信参数: a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、100、150、300、600、1200、2400、 4800、9600、19200波特。b)数据位:标准的值就是5、7与8位,如何设置取决于您想传送的信息。比如,标准的ASCII码就是0~127(7位);扩展的ASCII码就是0~255(8位)。 c)停止位:用于表示单个包的最后一位,典型的值为1,1、5与2位。由于数就是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅就是表示传输的结束,并且提供计算机校正时钟同步的机会。d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶与奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据就是011,那么对于偶校验,校验位为 0,保证逻辑高的位数就是偶数个。如果就是奇校验,校验位位1,这样就有3个逻辑高位。 --------------------------------- 串口通信的传输格式: 串行通信中,线路空闲时,线路的TTL电平总就是高,经反向 RS232的电平总就是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总就是从低位向高位一位一位的传输。示波器读数时,左边就是数据的高位。 例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)与图 2(RS-232电平)所示。 55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为1010101010B; aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为1101010100B;

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

串口调试助手源程序 及编程详细过程 作者:龚建伟 2001.6.20 可以任意转载,但必须注明作者和说明来自https://www.360docs.net/doc/7311139699.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?

RS232串口通信的问题

串口调试工具中的DTR和RTS是什么意思 RS-232C接口定义(DB9) 引脚定义符号 1 载波检测 DCD(Data Carrier Detect 数据载波检测) 2 接收数据 RXD(Received Data) 3 发送数据 TXD(Transmit Data) 4 数据终端准备好 DTR(Data Terminal Ready 数据终端准备好) 5 信号地 SG(Signal Ground) 6 数据准备好 DSR(Data Set Ready 数据准备好) 7 请求发送 RTS(Request To Send 请求发送) 8 清除发送 CTS(Clear To Send 清除发送) 9 振铃提示 RI(Ring Indicator) 串口大师右下方的几个指示灯DTR、RTS、DSR、CTS、RI、CD的含义?红表示什么,绿表示什么? 绿表示完成,红表示错误。 DTR表示数据终端准备好 RTS表示请求发送 DSR表示数据准备好 CTS表示清除发送 RI表示振铃提示 CD代表小型镭射盘

串口DCD、DTR、DSR、RTS、CTS分别是什么意思? DCD(Data Carrier Detect 数据载波检测) DTR(Data Terminal Ready 数据终端准备好) DSR(Data Set Ready 数据准备好) RTS(Request To Send 请求发送) CTS(Clear To Send 清除发送) 在这五个控制信号中,DTR和RTS是DTE设备(数据终端设备,在实际应用中就是路由器)发出的,DSR、CTS和DCD是DCE设备(数据电路终结设备,在实际中就是各种基带MODEM)发出的。 在数字电路中(如计算机),设备甲和设备乙交换信息(通讯),双方采用某个通讯规范(协议)来交换数据,它们的联络过程就叫“握手”,用来联络的信号就叫“握手信号”,单向联络通常用两根联络线:请求,应答,双向则四条。 RXD、TXD英文全称是什么? 在原版英文资料中对RXD引脚的解释说是Serial data RXD pin for receive input andtransmit output,是既可做输入又作输出(I/O)。而Receive Data 只含输入的意思呀。这是怎么回事? RXD在DTE设备端为接收,即输入,在DCE设备端同名RXD为发送端,即输出。在一对通讯系统中RXD信号在DTE设备端为输入信号,在DCE设备端为输出信号。原英文解释是综合译法,一般我们说的RXD是DTE端,即输入。 同样你可以理解TXD的含义。 DTE设备:计算机、工程主机 DCE设备:调制解调器、个别仪表 DCD DSR DTR RTS CTS表示什么意思 DCD :载波检测。主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。

串口通信的接线方法

目前较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422、RS485较远),若距离较远,需附加调制解调器(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连,本文只涉及到最为基本的接法,且直接用RS232相连。 1、DB9和DB25的常用信号脚说明 2、RS232C串口通信接线方法(三线制) 首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连; 两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口) 图2 上面表格是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼些交叉,信号地对应相接,就能百战百胜。 3、串口调试中要注意的几点: 不同编码机制不能混接,如RS232C不能直接与RS422接口相连,市面上专门的各种转换器卖,必须通过转换器才能连接; 线路焊接要牢固,不然程序没问题,却因为接线问题误事;

串口调试时,准备一个好用的调试工具,如串口调试助手、串口精灵等,有事半功倍之效果; 强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。 RS232C标准串口接线方法 (第二版) 检验仪器与微机的通讯主要是以RS232C标准接口为主,而串口的接线方法也有一定的标准,在此谈谈几种常用的串口接法,仅作参考: 一、标准接法 1、9对9(包括9针对9孔,9孔对9孔,9针对9针): 说明:以下的孔、针指串口线两端的串口,不过2、3有可能不交换 2-------------3 3-------------2 4-------------6 5-------------5 6-------------4 7-------------8 8-------------7 2、9对25(包括9孔对25孔,9孔对25针) 2-------------3 (备注:2、3有可能不交换) 3-------------2 4-------------6 5-------------7 6-------------20 7-------------5 8-------------4

串口调试助手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。

串口通信测试方法

串口通信测试方法 1 关于串口通信的一些知识: RS-232C是目前最常用的串行接口标准,用来实现计算机和计算机之间、计算机和外设之间的数据通信。 在PC机系统中都装有异步通信适配器,利用它可以实现异步串行通信。而且MCS-51单片机本身具有一个全双工的串行接口,因此只要配以电平转换的驱动电路、隔离电路就可以组成一个简单可行的通信接口。 由于MCS-51单片机的输入和输出电平为TTL电平,而PC机配置的是RS-232C 标准串行接口,二者电气规范不一致,因此要完成PC机与单片机的数据通信,必须进行电平转换。 注明:3)RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V 所以与单片机连接时常常需要加入电平转换芯片: 2 实现串口通信的三个步骤: (1)硬件连接 51单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换。我们采用了三线制连接串口,也就是说和计算机的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 使用MAX232串口通信电路图(9孔串口接头) (2)串行通信程序设计 ①通信协议的使用 通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种

约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在PC 机与单片机之间进行通信,在设计过程中,有如下约定:

串口调试助手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,为

C++课程设计 串口调试助手

目录 【内容摘要】 (2) 【关键词】 (2) 1 开发语言及开发平台简介 (3) 1.1 开发语言 (3) 1.1.1 C语言 (3) 1.1.2 C++语言 (3) 1.2 开发平台 (4) 1.2.1 Microsoft Visual C++ (4) 1.2.2 C++ Builder (5) 2 软件开发过程 (6) 2.1 开发所需要的控件 (6) 2.1.1 按钮控件 (6) 2.1.2 文本控件 (6) 2.1.3 串口控件 (6) 2.1.4 选择控件 (7) 2.2 数据发送设计 (7) 2.3 数据接收设计 (9) 3 软件使用说明 (11) 4 软件测试 (13) 4.1 辅助工具 (13) 4.2 发送测试 (13) 4.3 接收测试 (13) 5 总结 (15) 致谢 (16) 参考文献 (17) 附录主要程序 (18) 串口发送程序 (18) 串口接收程序 (19) 【Abstract】 (21) 【Key Words】 (21)

串口调试助手设计 专业:电子科学与技术学号:XXXXXXXXXXX 学生姓名:X X X 指导老师姓名:X X X 【内容摘要】串口调试助手是串口调试相关工具,网络上有很多串口调试助手,界面不同,功能各异,使用的开发语言和开发平台也不相同。有的使用C语言开发,有的使用C++语言开发,还有的即使用C语言也使用C++语言;开发平台有的使用Visual C++,有的使用C++ Builder等。本软件使用C语言和C++语言,开发平台使用C++Builder软件。该串口调试助手串口调试助手版支持常用的110 ~ 256000bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送数据或字符(包括中文),能发送文本文件(*.txt 文本),可以任意设定自动发送周期,并能将接收数据保存成文本文件(*.txt),是做项目开发调试串口的好工具。 【关键词】串口;C++;C++ Builder;控件;测试;

基于VerilogHDL的RS-232串口通信在CPLD上的实现综述

基于Verilog的RS-232串口通信在CPLD上的实现 CPLD(Complex Programable Logic Device)是一种复杂的用户可编程逻辑器件。采用连续连接结构,延时可预测,从而使电路仿真更加准确。CPLD 是标准的大规模集成电路产品,可用于各种数字逻辑系统的设计。开发工具Quartus II、ISE等功能强大,编程语言灵活多样,使设计开发缩短了周期。 随着嵌入式的发展,对数据的传输和人机交互通信的要求越来越高。而串口通信因其资源消耗少、技术成熟而被广泛应用。系统中上位机与嵌入式芯片之间的交互通信可以通过专用集成芯片作为外设RS-232异步串行接口,如TI、EXAR、EPIC公司的550、452等系列UAWT集成电路,或在拥有Nios系统的FPGA上可以方便地嵌入UART模块。但是在设计中用户会提出自己的要求,如:数据加密或只使用UART部分功能等,即要求更灵活的UART。而且有时CPLD资源剩余,出于成本考虑也会要求设计一种模拟的UART。对于上述的两种情况,就可以在CPLD其丰富的资源上制作一款UART,实现PC机与嵌入式系统之间的数据交换。 1 串口通信协议 1.1 UART简介 通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)。

异步通信的特点:不要求收发双方时钟的严格一致,实现容易,设备开销较小。具有相关工业标准提供的标准的接口电平规范等优点,在工业控制领域被广泛采用。 异步通信一帧字符信息由4部分组成:起始位、数据位、奇偶校验位和停止位。 本设计基于RS-232的数据帧结构,设置数据帧结构如图1所示:1 bit起始位,8 bit数据位,1 bit停止位,无校验位。每帧实质上传送1 Byte数据。 1.2 自定义数据包格式 多个上文所描述的帧就可以组成一个数据包。串口通信是在RS-232数据帧结构的基础上定义的,传输以数据包为单位进行。包结构如图2所示。 本文采用和校验的结构,一个数据包包含15 Byte。其中第1个字节是数据包头即握手字符。第2字节为控制字符,EE代表写命令,DD代表读命

串口调试助手3_用户手册

串口调试助手3.0版 使用说明书

目录 串口调试助手3.0版 (1) 使用说明书 (1) 串口调试助手3.0版简介 (1) 安装串口调试助手3.0版 (2) 使用频道列表 (3) 使用A频道 (4) 使用B频道 (5) 使用C频道 (6) 使用D频道 ............................................................ 错误!未定义书签。

软件使用说明书串口调试助手3.0版简介 串口调试助手3.0版是WMD工 作室最新研发的智能调试工具, 是不折不扣的“串口助手”。 串口调试助手3.0版可以实现的功 能包括发送接受16进制数、字符 串、传输文件、搜索出空闲串口 等,此外,还可以搜索用户自定义设置其他的项目。 为了让大家更好的使用串口调试助手3.0版将提供自动更新功能,用于免费升级软件以及修正bug.。 1

软件使用说明书 安装串口调试助手3.0版 安装串口调试助手需要Windows 2000/XP/2003/Vista操作系统中 的任一种,Windows NT 4.0 下面 没有测试过,不保证可运行。 串口调试助手为绿色软件,下载 后只需要复制到硬盘上的指定目录中即安装完成。 因为要到网络上加查更新,如果您的计算机的安 全防护软件提示,该程序需要访问网络的时候, 建议选择“允许”访问。 2

软件使用说明书使用列表 软件安装完成后,直接双击“串口调试助手3.0”即可运行软件。 检查串口线是否连接到计算机和设备 上。如果2端都是本计算机上的串口, 一定确认串口调试助手打开的是您指 定的串口。 3

基于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天) 四、设计任务书应包括的主要内容 目录设计题目任务分析实现过程程序前面板及流程图

测试电脑的串口是否是好的最完整最可靠的方法就是连接一个真实的串口通信线路

测试电脑的串口是否是好的 最完整最可靠的方法就是 连接一个真实的串口通信线 路(总5页) -CAL-FENGHAI.-(YICAI)-Company One1 -CAL-本页仅作为文档封面,使用请直接删除

测试电脑的串口是否是好的最完整最可靠的方法就是连接一个真实的串口通信线路,2 端用相应软件,如串口调试助手之类的,相互发送发送数据,看另外一端是否能正常接收! 当然,也可以简单的单台机器测试,即短接串口的 2、3 两针,用相应软件,如串口调试助手,发送数据,看能否回显发送的数据 串口测试工具使用说明之一——串口调试工具 回复 6|人气 1387|收藏|打印|推荐给版主 分享文章到: ye_w 个人主页给TA发消息加TA为好友发表于:2010-09-30 19:52:48 楼主 使用串口实现网络通讯,不仅仅需要熟悉控制双方的指令和相关的协议,而且还需要善于使用串口测试工具。在串口测试工具中,最常用的就是串口调试工具。这个串口调试工具网络上一大把,大家百度一下就能下载到(包括我逐步发布的调试工具,都不会提供资源,请大家直接去网络上查找),常用的包括:串口调试助手,串口精灵,Comm等。我也一直使用串口调试助手,下面就是用图形并茂的方式来介绍,请大家指出不足,以便共同进步。 串口调试助手,网络上的版本也有不少,我截2个不同版本的图,但本质没有区别 版本一 怎样测试串口和串口线是否正常? 一步:把串口线或者USB转串口线插到计算机上。 二步:打开串口调试助手 接着选择串口,串口线和USB转串口的端口号查看路径: 电脑上--右键--属性--硬件--设备管理器-端口(COM和LPT),点 开端口前面的+号查看即可。 注释:1、USB-SERIAL CH340(COM4)就是USB转串口的端口号 2、通讯端口(COM1)是计算机原来自带的端口号 第三步:设置串口调试助手(见下图) 1、串口:COM4是和串口线或者USB转串口线在上述路径中查看到的端口号。 2、发送的字符/数据:图片上输入的是59,你可以随便输入2位数字。 3、其余设置按照下图。

基于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天) 四、设计任务书应包括的主要内容 目录设计题目任务分析实现过程程序前面板及流程图

串口调试助手源程序编程详细过程

目录: 1.建立项目 2.在项目中插入MSComm控件 3.利用ClassWizard定义CMSComm类控制变量 4.在对话框中添加控件 5.添加串口事件消息处理函数OnComm() 6.打开和设置串口参数 7.发送数据 8.发送十六进制字符 9.在接收框中以十六进制显示 10.如何设置自动发送 11.什么是VARIANT数据类型?如何使用VARIANT数据类型? 在众多网友的支持下,串口调试助手从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,那可能是你在安装VC6时没有把ActiveX一项选上,重新安装VC6,选上ActiveX就可以了),

相关文档
最新文档