A. 串口调试工具有哪些
1、串口调试助手(V2.2)
优点:使用方便,用户群最多,有书介绍及免费源代码。
缺点:1)因采用多线程接收技术,接收有时丢数,特别在高波特率或使用USB转串口时丢数较多。
2)最大只支持115.2K波特率。
3)只能选COM1~COM4,使用USB转串口时,要重新映射串口。
2、SSCOM3.2
优点:使用方便,接收不丢数。
缺点:高波特率只有115.2K、128K、256K,没有230.4K。
3、PCOMAPR1.5(pcomtest)
优点:波特率高,最高达921.6K,接收不丢数。
缺点:只有COM1~COM4可选,使用USB转串口时,要重新映射串口。
4、Accesport1.33
优点:功能强,配置参数多,接收不丢数。
缺点:波特率较高时(如230.4K),如果接收数据量大(比量接收),则无法发送数据。
5. 友善串口调试助手
优点:功能强,支持单界面双串口,可自动探测USB映射的COM口
缺点:日志记录按钮不太方便
B. 怎么设置自己电脑的串口
设置自己电脑的串口的具体步骤如下:
我们需要准备的材料分别是:电脑、
1、首先我们右键单击打开我的电脑中的“属性”。
C. 找一个串口配置软件
图片哪里来的?
这个
D. 串口调试工具哪个好
推荐win10 商店的 串口调试助手 -“Serial Debug Assistant”
1. 接收从串口进来的数据并在窗口显示。
2. 接收到的数据显示方式可以选择为"字符串"或"HEX"。
3. 中文显示无乱码。可以在设置中更改字符串编码类型。支持多种字符编码 "ASCII","GB2312","UNICODE","UTF-8","BIG5","shift_jis"
4. 串口波特率可以选择为300bps-1500000bps. (波特率>115200时需要硬件支持)。
5. 支持自定义串口波特率。
6. 可以在发送框输入您想发送的字符串,并发送,发送支持 "字符串"或"HEX"。
7. 支持扩展命令,最大600组自定义命令。
8. 自定义命令列表,将多条要发送的命令组合成一个列表。只需点击一次发送,自动执行列表中的各条命令
9. 自动断帧功能,如果接收到两个数据包之间有时间间隔,会在一包数据后面插入换行,下一包数据另起新行,以方便观测。
10. 发送校验功能,采用 JavaScript 脚本,可根据需要自行编写校验方式.
11. 波形显示功能。可将按协议发送的数据显示成波形。并支持波形回看功能和截图功能。
12. 带有 "Limited support" 标志的COM口高速接收时会有卡顿现象.
E. windows 环境串口登录软件有哪些
Windows环境下的串口编程与DOS环境下的串口编程有很大不同。Windows环境下的编程的最大特征之一就是设备无关性,它通过设备驱动程序将Windows应用程序同不同的外部设备隔离。Windows封装了Windows的通信机制,这种方式称为通信API,Windows程序可以利用Windows通信API进行编程,不用对硬件直接进行操作。这种体系被称为Windows开放式服务体系(WOSA,Windows Open Services Architectures)。
早期的Windows3.x与Windows 9x/NT/2000的通信API有很大不同,在16位的串行通信程序中,一般使用16位的Windows API通信函数。为使大家对串口通信有一全面的理解,下面简单介绍一下16位的Windows API通信函数:
(1) 打开和关闭串口
OpenComm()打开串口资源,并指定输入、输出缓冲区的大小(以字节计);
CloseComm()关闭串口;
例:
int idComDev;
idComdev=OpenComm(“COM1”,1024,512);
CloseComm(idComDev);
(2) 初始化串口
BuildCommDCB()、setCommState()填写设备控制块DCB,然后对已打开的串口进行参数配置,例:
DCB dcb;
BuildCommDCB(〝COM1:2400,n,8,1〞,&dcb);
SetCommState(&dcb);
(3) 对串口进行读写
ReadComm、WriteComm()对串口进行读写操作,即数据的接收和发送。例:
char *m_pReceive; int count;
ReadComm(idComDev,m_pReceive,count);
Char wr[30]; int count2;
WriteComm(idComDev,wr,count2);
通过对以上的描述我们可以看出,16位以下的串口通信程序最大的特点就在于串口等外部设备的操作有自己特有的API函数。
Windows 9x/NT/2000中的API一般都支持32位的操作,因此又称为Win32API。为了在上述系统中实现串行数据传送,可以使用Win32通信API。Win32通信API基本上是一个串行端口API,不是很适合于局域网(LAN)通信。虽然在线路上发送数据之前,LAN通常将数据位串行化,这和窗口或调制解调器发送数据之前所作的工作一模一样,但局域网使用的线路的位数通常比串口少,而且还使用与串口协议很少有类似之处的访问、路由、安全性和纠错协议。局域网通信所需要的协议层使得Win32通信API对于这些应用来说很不理想。因此,在网络通信和连接方面,TCP/IP协议要比Win32通信API更适合一些。
Windows操作系统是一个可抢占式的操作系统,所以Windows应用程序常常有被别的程序抢占时间片的可能,因此Win32通信API也不能用于实时通信。实时通信的质量与时间密切相关。例如,数字化音频数据是实时数据,因为话音的质量依赖于播放它的速率。在录制音频时,它就以某个速度被数字化了,该速度就是人们所熟知的采样速率。声音必须以相同的采样率重放,否则听起来就会太慢或太快。实际中的视频播放,也不是实时播放,那仅仅是存放在缓冲中的那部分数据。因此,不需要许多协议层的交互式、非实时的通信可以采用Win32通信API来实现。Win32通信API把串口操作(以及并口等)和文件操作统一起来了,使用类似的操作来实现。
(二) Windows串口通信相关API函数
“工欲善其事,必先利其器”,这一节将从使用的角度出发,对和串口通信相关的32位的Windows API函数进行介绍,力图使你们对其有个全面、准确的认识。
2.1 打开和关闭串口
1. 打开串口
在32位的Windows系统中,串口和其它通信设备是作为文件处理的。串口的打开、关闭、读取和写入所用的函数与操作文件的函数完全一致。
通信会话以调用CreateFile()开始。CreateFile()为读访问、写访问或读写访问“打开”串口。按照Windows的通常做法,CreateFile()返回一个句柄,随后在打开的端口的操作中使用CreateFile()函数非常复杂,复杂性的原因之一是它是通用的。可以使用CreateFile打开已存在的文件,创建新文件和打开根本就不是文件的设备,例如串口、并口和调制解调器。CreateFile()函数声明如下:
HANDLE CreateFile(
LPCTSTR lpszName,
DWORD fdwAccess,
DWORD fdwShareMode,
LPSECURITY_ATTRIBUTES lpsa,
DWORD fdwCreate,
DWORD fdwAttrsAndFlags,
HANDLE hTemplateFile
)
CreateFile函数中的参数解释如下:
·lpszName:指定要打开的串口逻辑名,用字符串表示,如“COM1”和“COM2”分别表示串口1和串口2。
·fdwAccess:用来指定串口访问的类型。与文件一样,串口也是可以被打开以供读取、写入或者两者兼有。
GENERIC_READ位读取访问打开端口,GENERIC_READ位写访问打开端口。这两个常数定义如下:
const GENERIC_READ = 0x80000000h;
const GENERIC_WRITE = 0x40000000h;
用户可以用逻辑操作将这两个标识符连接起来,为读/写访问权限打开端口。因为大部分串口通信都是双向的,因此常常在设置中将两个标识符连接起来使用。如:
fdwAccess = GENERIC_READ | GENERIC_WRITE;
·fdwShareMode:指定该端口的共享属性。该参数是为那些由许多应用程序共享的文件提供的。对于不能共享的串口,它必须设置为0。这就是文件与通信设备之间的主要差异之一。如果在当前的应用程序调用CreateFile()时,另一个应用程序已经打开了串口,该函数就会返回错误代码,原因是两个应用程序不能共享一个端口。然而,同一个应用程序的多个线程可以共享由CreateFile()返回的端口句柄,并且根据安全性属性设置,该句柄可以被打开端口的应用程序的子程序所继承。
·Ipsa:引用安全性属性结构(SECURITY_ARRTIBUTES),该结构定义了一些属性,例如通信句柄如何被打开端口的应用程序的子程序所继承。将该参数设置为NULL将为该端口分配缺省的安全性属性。子应用程序所继承的缺省属性是该端口不能被继承的。
安全属性结构SECURITY_ARRTIBUTES结构声明如下:
typedef struct_SECURITY_ARRTIBUTE {
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ARRTIBUTE;
SECURITY_ARRTIBUTES结构成员nLength指明该结构的长度,lpSecurityDescriptor指向一个安全描述字符,bInheritHandle表明句柄是否能被继承。
·fdwCreate:指定如果CreateFile()正在被已有的文件调用时应采取的动作。因为串口总是存在,fdwCreate必须设置成OPEN_EXISTING。该标志告诉Windows不用企图创建新端口,而是打开已经存在的端口。OPEN_EXISTING常数定义为:
const OPEN_EXISTING = 3;
·fdwAttrsAndFlags:描述了端口的各种属性。对于文件来说,有可能具有很多属性,但对于串口,唯一有意义的设置是FILE_FLAG_OVERLAPPED。当创建时指定该设置,端口I/O可以在后台进行(后台I/O也叫异步I/O)。FILE_FLAG_OVERLAPPED常数定义如下:
const FILE_FLAG_OVERLAPPED = 0x40000000h
·hTemplateFile:指向模板文件的句柄,当端口处于打开状态时,不使用该参数,因而必须置成0。
调用CreateFile()函数打开COM1串口操作的例子如下所示:
HANDLE hCom;
DWORD dwError;
hCom=CreateFile(“COM1”, // 文件名
GENERIC_READ | GENERIC_WRITE, // 允许读和写
0, // 独占方式
NULL,
OPEN_EXISTING, // 打开而不是创建
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, // 重叠方式
NULL
);
if(hCom = = INVALID_HANDLE_VALUE)
{
dwError=GetLastError(); // 处理错误
}
一旦端口处于打开状态,就可以分配一个发送缓冲区和接收缓冲区,并且通过调用SetupComm()实现其它初始化工作。也可以不调用SetupComm()函数,Windows系统也会分配缺省的发送和接收缓冲区,并且初始化端口。但为了保证缓冲区的大小与实际需要的一致,最好还是调用该函数。SetupComm()函数声明如下:
BOOL SetupComm(
HANDLE hFile, // 通信设备句柄
DWORD dwInQueue, // 输入缓冲区大小
DWORD dwOutQueue // 输出缓冲区大小
);
SetupComm()函数中各项含义说明如下:
·hFile: 由GreatFile()返回的指向已打开端口的句柄。
·dwInQueue和dwOutQueue: 接收缓冲区的大小和发送缓冲区的大小。这两个定义并非是实际的缓冲区的大小,指定的大小仅仅是“推荐的”大小,而Windows可以随意分配任意大小的缓冲区。Windows设备驱动程序可以获得这两个数据,并不直接分配大小,而使用来优化性能和避免缓冲区超限。
注意:当使用CreateFile()函数打开串口时:为实现调制解调器的排他性访问,共享标识必须设为零;创建标识必须设为OPEN_EXISTING;模板句柄必须置为空。
2. 关闭串口
关闭串口比打开串口简单得多,只需要调用CloseHandle()函数关闭由CreateHandle()函数返回得句柄即可。
CloseHandle函数声明如下:
BOOL CloseHandle(
HANDLE hObject // 需关闭的设备句柄
);
使用串口时一般要关闭它,如果忘记关闭串口,串口就会始终处于打开状态,其它应用程序就不能打开并使用串口了。
2.2 串口配置和串口属性
Windows 9x/NT/2000中配置串口提供了比Windows的早期版本更为强大的功能,当然相应也更加复杂。CreateFile函数打开串口后,系统将根据上次打开串口时设置的值来初始化串口,可以集成上次打开操作后的数值,包括设备控制块(DCB)和超时控制结构(COMMTIMEOUTS)。如果是首次打开串口,Windows操作系统就会使用缺省的配置。
1. 串口配置
Windows 9x/NT/2000使用GetCommState()函数获取串口的当前配置,使用SetCommState()重新分配串口资源的各个参数。
GetCommState()函数声明如下:
BOOL GetCommState(
HANDLE hFile, // 通信设备句柄
LPDCB lpDCB // 指向device-control block structure的指针
);
其中的参数说明如下:
·hFile:由CreateFile()函数返回的指向已打开串口的句柄。
·lpDCB:一个非常重要的结构—设备控制块DCB ( Device Control Block )。
DCB结构的主要参数说明如下:
·DCBLength: 一字节为单位指定的DCB结构的大小。
·Baudrate: 用于指定串口设备通信的数据传输速率,它可以是实际的数据传输速率数值,也可以是下列数据之一:CBR_110, CBR_19200, CBR_300, CBR_38400, CBR_600, CBR_56000, CBR_1200, CBR_57600, CBR_2400, CBR_115200, CBR_4800, CBR_12800, CBR_9600, CBR_25600, CBR_14400。
·fBinary: 指定是否允许二进制。Win32API不支持非二进制传输,因此这个参数必须设置为TRUE,如果设置为FALSE则不能正常工作。
·fParity: 指定是否允许奇偶校验,如果这个参数设置为TRUE,则执行奇偶校验并报告错误信息。
·fOutxCtsFlow: 指定CTS是否用于检测发送流控制。当该成员为TRUE,而CTS为OFF时,发送将被挂起,直到CTS置ON。
·fOutxDsrFlow: 指定DSR是否用于检测发送流控制,当该成员为TRUE,而DSR为OFF时,发送将被挂起,直到DSR置ON。
·fDtrControl: 指定DTR流量控制,可以是表1中的任一值。
表1 DTR流量控制
值
功能描述
DTR_CONTROL_DISABLE
禁止DTR线,并保持禁止状态
DTR_CONTROL_ENABLE
允许DTR线,并保持允许状态
DTR_CONTROL_HANDSHAKE
允许DTR握手,如果允许握手,则不允许应用程序使用EscapeCommFunction函数调整线路
·fDsrSensitivity: 指定通信驱动程序对DTR信号线是否敏感,如果该位置设为TRUE时,DSR信号为OFF,接收的任何字节将被忽略。
·fTXContinueOnXoff: 指定当接收缓冲区已满,并且驱动程序已经发送出XoffChar字符时发送是否停止。当该成员为TRUE时,在接收缓冲区内接收到了缓冲区已满的字节XoffLim,并且驱动程序已经发送出XoffChar字符终止接收字节之后,发送继续进行。该成员为FALSE时,接收缓冲区接收到代表缓冲区已空的字节XonLim,并且驱动程序已经发送出恢复发送的XonChar字符后,发送可以继续进行。
·fOutX: 该成员为TRUE时,接收到XoffChar之后停止发送,接收到XonChar之后发送将重新开始。
·fInX: 该成员为TRUE时,接收缓冲区内接收到代表缓冲区满的字节XoffLim之后,XoffChar发送出去,接收缓冲区接收到代表缓冲区已空的字节XonLim之后,XonChar发送出去。
·fErrorChar: 当该成员为TRUE,并且fParity为TRUE时,就会用ErrorChar成员指定的字符来代替奇偶校验错误的接收字符。
F. SecureCRT软件的串口模式怎样设置
我的电脑-》管理->设备管理器-》端口
G. 串口设置工具软件L2A
鼠标和Modem有冲突,可以用串口设置来解决,下面是一个解决实例。
我原有一只的内置猫和一只PS/2的鼠标,后来鼠标坏了,我就买了一个串口的新鼠标,可是意想不到的事情发生了……
鼠标买回来后,把它接到我的主板上的COM1口上,这就是串行口。开机进入Win98,识别为“Standard Serial mouse”型鼠标,用起来也很顺手。第二天我准备上网,在MODEM拨号连接的时候,鼠标突然间失灵了。不管我怎样摇怎样按全都无济于事,随后我用键盘强行把连接关闭了,鼠标又突然“活”了过来,这也太奇怪了!再连接!小鼠又“死”了。重新启动!鼠标还是不能使用!重装Win98和小猫的驱动程序!唉!刚一拨号小鼠就死了。
这种情况从表面上一看就是MODEM与鼠标有软件或硬件上的冲突,可是重装Win98都解决不了问题。MODEM与鼠标的硬件质量问题肯定是排除在外了,因为它们只在拨号连接时才产生冲突。那会不会是MODEM的驱动程序有Bug呢?我打开了MODEM的驱动程序看了看,发布的日期竟然是1997年11月份,肯定兼容性不佳。于是我又向朋友借了一只PS/2的鼠标,上网寻找新的驱动程序,最后安装了1999年5月23日发布的最新驱动程序。可是装上后拨号上网鼠标还是无法使用!这可叫我怎么办啊!这时我忽然想起原来好像看过一篇关于主板BIOS设置不当造成的COM口的数码相机无法使用的文章,讲的好像就是我的这种主板的COM口使用问题,但我却忘了是在哪份杂志上了。只好自己到主板的BIOS中查找,可是由于主板太老了,根本找不到关于IRQ的选项。
于是又回到Win98,在启动桌面的时候,我突然在右下角的工具栏中见到了一个以前从未有过的图标!打开一看,原来是新加入的一个检测内置猫的工作状态的程序,其中一项“comport”是用来选择猫的工作端口的,共有四个选项,是“COM1、COM3、COM2和COM4”,根据默认设置,猫的接口是在“COM3”上。对。那篇文章好像就是讲的主板虽然给了COM1和COM3两个不同的I/O地址,但是它们的IRQ都是相同的!换句话说,就是COM1/COM3、COM2/COM4这两对串口都是由相同的中断(IRQ)来控制两个不同的I/O地址,因此在COM1和COM3(或COM2和COM4)上接的设备同时工作时就会出现IRQ地址上的冲突,从而导致其中的一个设备无法正常使用。我恍然大悟!原来内置猫在使用时占去了鼠标的IRQ!那鼠标不“死”才怪哩!我赶紧把小猫的工作端口改到COM4,使猫和鼠标使用不同的IRQ地址,然后重新启动,再拨号上网,故障终于消失了,鼠标和猫配合得很默契,猫再也不“咬”小鼠了。
希望我能帮助你解疑释惑。
H. 关于组态软件的串口设置
组态王里的串口是电脑的232口,电脑是不会有485口的,转换器对电脑来说也是透明的.
I. 在pc机上怎么设置某个软件使用串口的优先级
定时器中断和串口中断冲突的原因是什么? 定时多少,串口的波特率多少?一般不应该啊。你优先级怎么设置的?设置串口中断最高看看。串口中断应该也没关
J. 如何使用串口工具
网络上搜索“串口调试助手”或者“串口调试精灵”,进行简单的安装。
点击运行串口调试助手,进入相应的界面。
设置串口通讯的接口,波特率校验位等相关信息。
在发送栏输入要发送的信息,选择手动发送或者自动发送,这时如果没有什么错误,对方的串口通信工具就会收到发送的内容。
设置接收区域的相关信息,这时对方如果发送信息,接收区就会收到相应的内容。
另外也可以进行文件的发送,但是串口通信的速率过慢,传输文件的话会很耗时,不过可以用来检测通信的正确性。