串口监听工具的使用
java串口编程,java串口通信,监听者模式解析
java调用coms端口串口通信的方法。
首先需要下到串口驱动。
javacomm20-win32.zip去sun的主页应该有下的。
在这个驱动中有comm.jar,m.properties,win32com.dll这么3个重要的文件。
1、首先配置驱动,把m.properties,win32com.dll拷贝到你的jdk 中具体位置为C:\Program Files\Java\jdk1.6.0_06\bin然后配置windows系统环境变量,在path中加入C:\ProgramFiles\Java\jdk1.6.0_06\bin;打开你的java工程,配置user library,并导入comm.jar包。
2、现在就可以开始写代码了。
串口读写代码如下CommPortIdentifier portID =CommPortIdentifier.getPortIdentifier(com);//1,先拿到Identifier//其中com是String类型的,传入的是串口名com="COM1";SerialPort port = (SerialPort)portID.open("MyComm", 100000000);//2,打开串口//"MyComm"是串口名,100000000是串口过期时间(ms)。
port.setSerialPortParams(rate, databits,stopbit, parity);//3,设置串口属性//rate 波特率(默认9600),databits载波位(默认8),stopbit停止位(默认1),parity校验位(默认0无校验)port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);//4(可选)设置数据流控制模式,默认为无port.close();//关闭串口3、串口读入写出流。
VB.NET串口控件的使用和说明来自安的博客
串口控件的使用和说明来自安的博客上位机软件,尤其是串口监听软件是我们常用到的工具。
这里我讲解一下使用时,串口控件的使用和串口的配置。
一、认识串口控件,名称SerialPort,调用方式如下图所示。
二、串口常用参数说明:名称说明BaseStream获取SerialPort对象的基础Stream对象。
BaudRate获取或设置串行波特率。
BreakState获取或设置中断信号状态。
BytesToRead获取接收缓冲区中数据的字节数。
BytesToWrite获取发送缓冲区中数据的字节数。
CDHolding获取端口的载波检测行的状态。
Container 获取 IContainer,它包含 Component。
(从Component 继承。
)CtsHolding获取“可以发送”行的状态。
DataBits获取或设置每个字节的标准数据位长度。
DiscardNull获取或设置一个值,该值指示 Null 字节在端口和接收缓冲区之间传输时是否被忽略。
DsrHolding获取数据设置就绪 (DSR) 信号的状态。
DtrEnable获取或设置一个值,该值在串行通信过程中启用数据终端就绪 (DTR) 信号。
Encoding获取或设置传输前后文本转换的字节编码。
Handshake获取或设置串行端口数据传输的握手协议。
IsOpen获取一个值,该值指示 SerialPort 对象的打开或关闭状态。
NewLine获取或设置用于解释ReadLine和WriteLine方法调用结束的值。
Parity获取或设置奇偶校验检查协议。
ParityReplace获取或设置一个字节,该字节在发生奇偶校验错误时替换数据流中的无效字节。
PortName获取或设置通信端口,包括但不限于所有可用的 COM 端口。
ReadBufferSize获取或设置 SerialPort 输入缓冲区的大小。
ReadTimeout获取或设置读取操作未完成时发生超时之前的毫秒数。
MCGS设备调试讲解
点击“保存显示数据”保存接收数据区数据到文件RecXX.txt。
关闭串口。
1.2.
如果串口被占用,请关闭相应串口的应用程序。比如:要监视MCGS软件与串口1设备通讯,应该先关闭MCGS软件。
说明:PortMon虽不占用串口资源,但在使用前必须确保要监听的串口未被占用,否则无法进行监视。
在菜单栏选择“捕获(C)”->“端口(P)”,并选中要监听的串口。如:要监听串口1则选中“COM1 Serial0”。
数据显示设置:
数据显示方式:菜单栏选择“选项(O)”选中“显示16进制”,可使截获数据以16进制显示,否则为ASCII码显示。
“过滤/高亮”:菜单栏选择“选项(O)”->“过滤/高亮(L)…”。弹出设置窗口。可进行过滤及高亮的设置,以便于数据的观查。
此时,可正常启动MCGS,组态工程,加入需要调试的驱动之后,并设置好相应参数后,可以切换到设备调试窗口或直接进入运行环境,嵌入版则可以进入模块环境测试驱动。此时在PortMon数据窗口可以看到截获的收发数据包。
数据监听步骤:
启动MCGS。
组态工程,加入驱动
设置串口参数
设备调试窗口或运行环境调试(嵌入版可进入模拟环境测试)
保存(S):菜单栏选择“文件(F)”->“保存(S)”,数据保存到默认为本地计算机名的LOG文件。
另存为(A):菜单栏选择“文件(F)”->“另存为(A)”,数据保存到用户命名的LOG文件。
通道设置不当
PLC及部分仪表可通过内部属性增加内部通道,如果通道地址设置不在有效范围内,也会引起通讯不正常。应检查并修改为正确地址。
1.3.
在以上措施后,驱动构件还是不能正常工作,可尝试用后面提到的PortMon串口监视工具监听数据,根据数据分析是否正确,如果无法确定正确与否,请联系MCGS驱动组(010-62979682),并将监听的数据保存做为驱动开发人员问题判断的依据。
串口助手使用教程
总结词:选择正确的串口参数
04
详细描述:根据连接的设备和通信协议的要求,选择正确 的波特率、数据位、停止位和校验位等参数。
05
总结词:保存配置
06
详细描述:完成参数设置后,记得保存配置以便下次使用 。
如何解决串口数据传输错误的问题?
总结词
检查数据完整性
详细描述
在数据传输过程中,如果发生错误,首先检查数据的完整性。确认发送的数据是否正确, 以及接收端是否完整接收。
用户需要先安装串口助 手软件,然后根据实际 硬件设备配置相应的串 口参数,如波特率、数 据位、停止位等。
通过串口助手,用户可 以发送和接收串口数据 。发送数据时,用户可 以选择文本或二进制格 式;接收数据时,软件 会自动捕获串口数据并 显示在界面上。
对于接收到的数据,用 户可以进行编辑、保存 或导出操作,方便后续 处理和分析。
如何解决串口数据传输错误的问题?
总结词
查看错误日志
详细描述
打开串口助手的错误日志功能,查看详细的 错误信息和历史记录。根据日志中的提示信 息,进一步排查问题原因。
05
总结与展望
总结串口助手的使用方法
功能介绍
安装与配置
数据发送与接收
数据编辑与保存
参数设置与调试
串口助手是一款用于串 口通信的软件,支持串 口数据的发送、接收、 查看、编辑等功能。
关闭串口
完成数据发送和接收后,点击“关闭串口”按钮。
关闭串口连接并释放相关资源。
03
串口助手的进阶功能
波特率设置
总结词
波特率是串口通信的重要参数,用于 控制数据传输速率。
详细描述
在串口助手中,您需要选择合适的波特率 以确保数据传输的稳定性和正确性。常见 的波特率有9600、19200、115200等, 根据您的设备和通信协议选择合适的值。
串口控制mp3播放,tts语音和录音模块说明
串口控制mp3播放,tts语音和录音模块说明简介Audio Mini Player是珠海赤子芯智能科技推出的一款小巧且价格低廉的音频播放和录制模块,可以直接接扬声器。
可以通过串口控制,作为Arduino或者是任何有串口的单片机的一个外接模块。
模块本身完美集成了MP3、W A V、WMA的硬解码。
同时软件支持TF卡驱动,支持FAT16、FAT32文件系统。
通过简单的串口指令即可完成播放指定的音乐,以及播放文本和进行语音录制等功能。
Audio Mini Player产品参数:●支持采样率(KHz):8/11.025/12/16/22.05/24/32/44.1/48●24位DAC输出,动态范围支持:90dB,信噪比支持:85dB。
●完全支持FAT16、FAT32文件系统,最大支持32G的TF卡。
●串口控制模式,3.3V TTL电平。
●支持TTS文本播放,广播语插播功能,可以暂停正在播放的背景音乐。
广告播放完毕回到背景音继续播放。
●板上集成高灵敏度MIC,可支持高保真语音录制功能,可以发送命令来控制录音的启动和停止。
●支持Linein歌曲录制功能,可以随时把自己喜爱的一段音乐录制成自己的mp3文件永久保存。
●可通过USB线连接电脑,进入U盘,替换SD Card中的音频文件。
●0-100级音量可调。
●支持左右声道,3W×2喇叭输出。
实物图:正面版图背面版图连接示意图(左边接喇叭,右边接串口)通信协议采用串口通信,3.3V TTL电平,波特率为19200,数据位8,停止位1,无校验,无流控。
所有命令以#开头,回车换行结束。
比如输入一串字符:“#ls\r\n”。
每次命令发送完成后,需等串口的回应信息后才能发送下一命令。
操作说明上电后,系统初始化成功后会有如下打印:Bootinginput cmd:上电读卡如卡不存在会打印:“Card isn't exist!”,如果卡磁盘损坏,则会打印“Please format Card!”。
串口调试助手监控设置及使用说明
串口调试助手简易操作说明
一、软件介绍
串口调试助手是一款串口通讯软件,用它通过RS232可以实现UPS与电脑之间的通讯。
通过发送232协议里面的相应指令,可以查询、设置以及监控UPS工作情况。
二、软件操作
1、本软件无需安装,双击图标如下图标,即可打开软件。
2、打开软件后,先进行下设置。
“串口”栏根据实际情况选择所使用的端口,软件默认的是COM1。
“波特率”栏选择2400。
其他栏保持为默认状态。
3、输入指令
输入相应的指令后按一次回车键。
如输入“QGS+回车键”,即可通讯,
通讯数据如下图示。
UPS常用通讯协议
注:无论是通过软件方式对UPS进行参数设置,还是在UPS LCD显示屏进行参数设置均需要注意以下事项。
1:系列机型,参数设置内容均需要在连接电池的情况下,方可保存,否则SUC33 30-80K
设置内容当次有效,重启机器后,即恢复为原设置。
2:其他机型均可在无电池下保存设置(更改设置后,不可立即断电,需等待几秒,再断电,否则设置有可能没有保存成功)。
【串口】SecureCRT使用说明
1、串口连接
1、开机、设备与电脑连接232串口
2、运行SecureCRT软件,【文件】中选择【快速连接】
3、设置串口协议连接参数(协议选择:Serial),如下图所示,波特必须选择115200,点击连接
端口选择根据电脑实际情况而定
1
4、回车,出现“#”或“$”号,接受输入命令,代表与设备连接成功。
2、telnet连接
强烈建议使用串口连接方式获取打印信息,如果使用串口不方便,可以使用telnet方式连接设备。
1、网络连通情况下,运行SecureCRT软件,【文件】中选择【快速连接】
2
3
2、设置telnet 协议连接参数(协议选择:Telnet ),主机名输入设备IP ,点击连接
3、出现以下登陆提示,表示连接成功,登陆用户名密码(该设备用户名为root
,密码为
12345)
说明:输入密码时,不会有任何字符显示,直接回去确认即可
3、记录会话
1、当串口连接设备成功后,选择【文件】中选择【记录会话】,选择记录log文件保存路径
4
2、输入命令:outputOpen,以及errputOpen 开启打印信息
5
3、测试完成后,记事本打开“打印信息.log”文件,即可查看保存的串口信息
4、记录时间戳
1、选择【选项】中选择【会话选项】,进入会话选项界面
6
2、选择进入“日志文件”界面
3、选项中选择“追加到文件”,“在每行”中输入“[%M-%D %h:%m:%s]”(复制引号中内容)
7
4、单击【确定】,保存设置
8。
C#串口监听的实现实例操作
tbID.Focus(); BtPause.Enabled = false; } private void UpdateTextBox(string text) {
tbData.Text = text; } public void Sp_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e) {
byte[] readBuffer = new byte[Sp.ReadBufferSize]; Sp.Read(readBuffer, 0, readBuffer.Length); this.Invoke(interfaceUpdataHandle, new string[] { Encoding.UTF8.GetString(readBuffer) }); }
public partial class Form1 : Form {
public Form1() {
InitializeComponent(); } private SerialPort Sp = new SerialPort(); public delegate void HandleInterfaceUpdataDelegate(string text); private HandleInterfaceUpdataDelegate interfaceUpdataHandle;
private void BtPause_Click( object sender, EventArgs e) {
Sp.Close(); tbID.ReadOnly = false; btENT.Enabled = true; BtPause.Enabled = false; } }//C#串口监听 }
C#之串口数据侦听的实现
C#之串⼝数据侦听的实现 当需要编程操纵硬件时会遇到过这样的问题,就是通过串⼝来接收硬件发来的数据,或是通过串⼝向硬件发送某种格式的命令。
在C#平台上,可以通过System.IO.Ports 命名空间下的SerialPort 类来实现。
下⾯是我做过的⼀个简单的⽰例,⾸先获取本机关联的串⾏端⼝列表,然后获取配置⽂件中配置的COM端⼝,检查是否在本机串⾏端⼝列表中,若在列表中则进⼀步实例化串⼝对象,并为串⼝对象指定数据接收事件来实现监听,⽰例代码如下:using System.IO.Ports;namespace SerialTest{public class SerialTest{#region串⼝监听private SerialPort serialPort = null;///<summary>///开启串⼝监听///</summary>private void StartSerialPortMonitor(){List<string> comList = GetComlist(false); //⾸先获取本机关联的串⾏端⼝列表 if (comList.Count == 0){DialogForm.Show("提⽰信息", "当前设备不存在串⾏端⼝!");System.Environment.Exit(0); //彻底退出应⽤程序}else{string targetCOMPort = ConfigurationManager.AppSettings["COMPort"].ToString();//判断串⼝列表中是否存在⽬标串⾏端⼝if (!comList.Contains(targetCOMPort)){DialogForm.Show("提⽰信息", "当前设备不存在配置的串⾏端⼝!");System.Environment.Exit(0); //彻底退出应⽤程序}serialPort = new SerialPort();//设置参数serialPort.PortName = ConfigurationManager.AppSettings["COMPort"].ToString(); //通信端⼝serialPort.BaudRate = Int32.Parse(ConfigurationManager.AppSettings["BaudRate"].ToString()); //串⾏波特率serialPort.DataBits = 8; //每个字节的标准数据位长度serialPort.StopBits = StopBits.One; //设置每个字节的标准停⽌位数serialPort.Parity = Parity.None; //设置奇偶校验检查协议serialPort.ReadTimeout = 3000; //单位毫秒serialPort.WriteTimeout = 3000; //单位毫秒//串⼝控件成员变量,字⾯意思为接收字节阀值,//串⼝对象在收到这样长度的数据之后会触发事件处理函数//⼀般都设为1serialPort.ReceivedBytesThreshold = 1;serialPort.DataReceived += new SerialDataReceivedEventHandler(CommDataReceived); //设置数据接收事件(监听)try{serialPort.Open(); //打开串⼝}catch (Exception ex){DialogForm.Show("提⽰信息", "串⾏端⼝打开失败!具体原因:" + ex.Message);System.Environment.Exit(0); //彻底退出应⽤程序}}}///<summary>///串⼝数据处理函数///</summary>///<param name="sender"></param>///<param name="e"></param>public void CommDataReceived(Object sender, SerialDataReceivedEventArgs e){try{//Comm.BytesToRead中为要读⼊的字节长度int len = serialPort.BytesToRead;Byte[] readBuffer = new Byte[len];serialPort.Read(readBuffer, 0, len); //将数据读⼊缓存//处理readBuffer中的数据,⾃定义处理过程string msg = encoding.GetString(readBuffer, 0, len); //获取出⼊库产品编号DialogForm.Show("接收到的信息", msg);}catch(Exception ex){DialogForm.Show("提⽰信息", "接收返回消息异常!具体原因:" + ex.Message);}}///<summary>///关闭串⼝///</summary>private void Stop(){serialPort.Close();}///<summary>///获取本机串⼝列表///</summary>///<param name="isUseReg"></param>///<returns></returns>private List<string> GetComlist(bool isUseReg){List<string> list = new List<string>();try{if (isUseReg){RegistryKey RootKey = Registry.LocalMachine;RegistryKey Comkey = RootKey.OpenSubKey(@"HARDWARE\DEVICEMAP\SERIALCOMM"); String[] ComNames = Comkey.GetValueNames();foreach (String ComNamekey in ComNames){string TemS = Comkey.GetValue(ComNamekey).ToString();list.Add(TemS);}}else{foreach (string com in SerialPort.GetPortNames()) //⾃动获取串⾏⼝名称list.Add(com);}}catch{DialogForm.Show("提⽰信息", "串⾏端⼝检查异常!");System.Environment.Exit(0); //彻底退出应⽤程序}return list;}#endregion串⼝监听}}。
串口调试软件使用方法
串口调试软件使用方法
2.连接串口设备:
将电脑和串口设备通过串口线连接起来。
通常串口线有3根(TX、RX、GND),TX连接到电脑的RX口,RX连接到电脑的TX口,GND连接到电脑
的地线。
3.打开串口调试软件:
安装完串口调试软件后,双击打开软件。
通常在软件的主界面上会有
一个“打开串口”或“连接串口”的按钮,点击它可以打开串口。
4.配置串口参数:
在打开串口之前,需要配置一些串口参数,比如波特率、数据位、停
止位、校验位等。
这些参数需要与要通信的设备一致,否则通信无法正常
进行。
可以在软件的设置或配置选项中找到这些参数进行配置。
5.发送和接收数据:
配置完串口参数后,可以在软件的发送框中输入要发送的数据,然后
点击发送按钮,数据就会通过串口发送出去。
同时,在软件的接收框中会
显示接收到的数据。
可以通过软件提供的接收设置,选择以何种形式显示
接收到的数据,比如ASCII码、十六进制等。
6.调试和测试:
使用串口调试软件可以方便地进行串口通信的调试和测试。
可以通过
发送和接收数据,测试串口通信的可靠性和稳定性。
如果发现问题,可以
在软件上观察到错误信息或异常情况。
根据这些信息可以进行故障排除和
问题分析。
7.其他功能:
除了基本的发送和接收数据功能,一些串口调试软件还提供其他实用的功能,比如发送定时器、数据记录、脚本功能等。
这些功能可以根据需求进行使用。
总结:。
简述监听器的使用流程
简述监听器的使用流程1. 什么是监听器监听器(Listener)是一种常用的编程技术,用于监听并响应特定事件的发生。
在编程中,我们经常需要对某些事件进行处理,例如用户点击按钮、网页加载完成、数据改变等等,这时候就可以通过监听器来捕获并处理这些事件。
2. 监听器的分类在Java语言中,监听器主要分为两类:事件监听器和属性监听器。
2.1 事件监听器事件监听器用于监听特定的事件,并在事件发生时执行相应的操作。
在Java中,我们可以通过为组件添加事件监听器来实现对按钮点击、键盘输入、鼠标移动等事件的监听。
常见的事件监听器包括:•ActionListener:监听按钮点击事件•MouseListener:监听鼠标点击、鼠标移动等事件•KeyListener:监听键盘按下、键盘释放等事件2.2 属性监听器属性监听器用于监听对象的属性变化,并在属性发生改变时执行相应的操作。
属性监听器通常与JavaBean一起使用,可以实现对JavaBean属性的监控和响应。
3. 使用流程监听器的使用流程主要包括以下几个步骤:3.1 确定需要监听的事件或属性首先,我们需要确定需要监听的事件或属性。
例如,如果我们想监听一个按钮的点击事件,就需要使用ActionListener监听器。
3.2 创建监听器对象创建一个监听器对象,可以是内部类的实例,也可以是外部类的实例。
监听器对象负责实现监听器接口,并重写相应的事件处理方法。
3.3 将监听器添加到组件将监听器对象添加到需要监听的组件中。
例如,如果我们想监听一个按钮的点击事件,就需要使用addXXXListener()方法将监听器对象添加到按钮中。
3.4 实现事件处理方法在监听器对象中实现相应的事件处理方法。
不同的监听器接口有不同的事件处理方法,我们需要根据需要重写相应的方法并编写相应的处理逻辑。
3.5 注册监听器将监听器注册到组件中,使其开始监听特定的事件或属性。
注册方法通常以addXXXListener()的形式存在。
UserMonitor使用指南
UserMonitor软件操作指南1. 启动:接通控制PC电源,启动UserMonitor控制软件,得到如下画面:图1 UserMonitor主界面(串口未连接)2. 选择串口:点击COM(串口配置)按钮,弹出串口配置选项(如下图),选择RS485连接的使用的串口编号,其它不用改变,然后点击OK按钮关闭配置窗口。
串口配置成功后得到如下画面(如果失败,仍然为第1步的画面),可以进行后续操作,否则需要检查你认为分配给RS485串口的COM编号是否已经被其它设备所占用。
图2 UserMonitor主界面图2中右上方红色半圆圈住部分为监视区域,定时刷新接收到的数据。
3. 回传数据:然后,就可以命令LSS2004回传测试数据,在“回传数据率(秒)”栏,填上你需要LSS2004回传数据的时间间隔(图中填写为2),时间间隔范围为(2~25.5)秒,25.5秒代表手动单次回传。
在左上角的“命令”栏选择“User数据回传”,可以在下方的“接收到的串口Hex数据”消息栏看到LSS2004的反馈信息(十六进制数据串)。
在右上方监视区域中会定时刷新接收到的数据。
4. 数据存储:当接收到的数据达到选取的“显示采样点数”时,UserMonitor会自动记录测试数据,记录的位置和文件名称可以通过Save(存数据)按钮选取。
如果希望采用“PC主控查询”方式,只需要将回传数据的时间间隔设定为25.5,然后选择“User数据回传”即可。
5. 系统设置:首次安装,一般需要对LSS2004的系统信息进行一些设置,点击SysInfo(系统信息)按钮,弹出如下画面:图3 “LSS2004系统信息”对话框下面解释每个参数的意义及作用:MSN:为仪器的出厂序列号,用户不可更改。
永久授权/临时授权:这是厂商出厂设置值,用户不可更改。
其含义为对全部执行采购合同的用户,设定为“永久授权”使用,否则被设定为“临时授权”使用。
授权时间:对应“临时授权”,设定的授权时间。
serialplot的用法
serialplot的用法SerialPlot是一款非常实用的串口数据实时显示工具,也是许多电子开发人员和爱好者最喜欢使用的一款工具。
SerialPlot能够实时接收和显示串口发送过来的数据,并以图表的形式进行展示,非常直观,十分方便使用。
在本文中,将会介绍SerialPlot的使用流程和常见用法。
一、SerialPlot介绍SerialPlot是一款基于Qt框架开发的串口数据实时监测工具。
由于其高效、稳定、易用、具有可扩展性的特点,SerialPlot成为许多电子开发人员和爱好者实验室中的必备工具。
SerialPlot支持多种模式,包括波形图、散点图、频谱分析等,能够以实时数据的形式监测串口的通信情况。
其支持的数据格式包括十六进制和文本两种形式,并且具有自动检测、动态调整的功能,能够快速适应不同波特率和平台上的串口。
SerialPlot还支持多种平台,包括Windows、MacOS、Linux等,同时还支持多语言,涵盖英语、法语、德语、意大利语等,方便了不同国家和地区的开发者使用。
二、SerialPlot的基本使用1. 确认串口连接在使用SerialPlot前,首先需要确认串口与计算机是否连接成功。
可通过设备管理器或者串口调试工具进行查看。
2. 下载安装SerialPlotSerialPlot官网提供了多个平台的安装包,可以前往官网进行下载,并安装至计算机上。
3. 打开SerialPlot下载并安装完成SerialPlot后,点击打开按钮,打开SerialPlot应用程序。
开启SerialPlot后,我们进入了主界面。
主界面很简洁,只有一个图形显示区和一个功能区。
4. 选择串口SerialPlot能够检测和自动识别计算机与串口之间的连接,只需要在菜单栏中选择“Options”选项,然后在下拉菜单中选择正确的端口即可。
5. 配置参数若在SerialPlot中要更改通信参数,可以在菜单栏中选择“Options”选项,然后在下拉菜单中选择“Serial settings”选项。
串口监听
C#串口监听的实现在Visual Stdio 2005中,对于串口操作Framework提供了一个很好的类接口-SerialPort,在这当中,串口数据的读取与写入有较大的不同。
C#串口监听的实现由于串口不知道数据何时到达,因此有两种方法可以实现C#串口监听之串口数据的读取。
1.用线程实时读串口2.用事件触发方式实现。
但由于线程实时读串口的效率不是十分高效,因此比较好的方法是事件触发的方式。
在SerialPort类中有DataReceived事件,当串口的读缓存有数据到达时则触发DataReceived事件,其中SerialPort.ReceivedBytesThreshold属性决定了当串口读缓存中数据多少个时才触发DataReceived事件,默认为1。
此外,SerialPort.DataReceived事件运行比较特殊,其运行在辅线程,不能与主线程中的显示数据控件直接进行数据传输,必须用间接的方式实现。
C#串口监听实现一、创建WIndow项目,设计界面C#串口监听实现二、编写实现代码ing System;ing System.Collections.Generic;ing ponentModel;ing System.Data;ing System.Drawing;ing System.Text;ing System.Windows.Forms;ing System.IO.Ports;9.//using Microsoft.VisualBasic.Devices;10.11.//C#串口监听space Demo13....{14.public partial class Form1 : Form15....{16.public Form1()17....{18.InitializeComponent();19.}20.21.private SerialPort Sp = new SerialPort();22.public delegate void HandleInterfaceUpdataDelegate(string text);23.private HandleInterfaceUpdataDelegate interfaceUpdataHandle;24.25.private void Form1_Load(object sender, EventArgs e)26....{27.tbID.Focus();28.BtPause.Enabled = false;29.}30.31.private void UpdateTextBox(string text)32....{33.tbData.Text = text;34.}35.36.public void Sp_DataReceived(object sender,37.System.IO.Ports.SerialDataReceivedEventArgs e)38....{39.byte[] readBuffer = new byte[Sp.ReadBufferSize];40.Sp.Read(readBuffer, 0, readBuffer.Length);41.this.Invoke(interfaceUpdataHandle,42.new string[] ...{ Encoding.UTF8.GetString(readBuffer) });43.}44.45.private void Form1_FormClosing(46.object sender, FormClosingEventArgs e)47....{48.Sp.Close();49.}50.51.private void btENT_Click(object sender, EventArgs e)52....{53.if ((tbID.Text.Trim() != "") &&54.(cmRate.Text != ""))55....{56.interfaceUpdataHandle =57.new HandleInterfaceUpdataDelegate(UpdateTextBox);58.//C#串口监听之实例化委托对象59.Sp.PortName = tbID.Text.Trim();60.serialPort1.BaudRate =61.Convert.ToInt32(cmRate.Text.Trim());62.Sp.Parity = Parity.None;63.Sp.StopBits = StopBits.One;64.Sp.DataReceived +=65.new SerialDataReceivedEventHandler(Sp_DataReceived);66.Sp.ReceivedBytesThreshold = 1;67.try68....{69.Sp.Open();70.tbID.ReadOnly = true;71.BtPause.Enabled = true;72.btENT.Enabled = false;73.}74.catch75....{76.MessageBox.Show(77."端口" + tbID.Text.Trim() + "打开失败!");78.}79.}//C#串口监听80.else81....{82.MessageBox.Show("请输入正确的端口号和波特率!");83.tbID.Focus();84.}85.}86.87.private void BtPause_Click(88.object sender, EventArgs e)89....{90.Sp.Close();91.tbID.ReadOnly = false;92.btENT.Enabled = true;93.BtPause.Enabled = false;94.}95.}//C#串口监听96.}。
PortMon串口监视工具说明
在串口测试工具中,也经常使用串口监听工具,用来监听上下位机串口相关操作,并截获收发数据的串口工具。
不占用串口资源。
如:PortMon,ComSky等。
我也一直使用PortMon,下面就是用图形并茂的方式来介绍,请大家指出不足,以便共同进步。
PortMon串口监听工具,在进行监听前,要保证相应串口不被占用,否则无法正常监听数据。
PortMon设置及使用:1). 确保要监听的串口未被占用。
如果串口被占用,请关闭相应串口的应用程序。
比如:要监视组态软件与串口1设备通讯,应该先关闭组态软件。
说明:PortMon虽不占用串口资源,但在使用前必须确保要监听的串口未被占用,否则无法进行监视。
2). 运行PortMon,并进行相应设置。
• 连接设置:在菜单栏选择“计算机(M)”->“连接本地(L)”。
如果连接成功,则连接状态显示为“PortMon于\\计算机名(本地)”。
如下图:• 捕获设置:在菜单栏选择“捕获(C)”,并选中“捕获事件(C) Ctrl+E”(前面打钩表示选中)。
也可在工具栏中点击“”按钮,切换状态。
“”为选中,“”为未选中。
在菜单栏选择“捕获(C)”->“端口(P)”,并选中要监听的串口。
如:要监听串口1则选中“COM1 Serial0”。
• 数据显示设置:数据显示方式:菜单栏选择“选项(O)”选中“显示16进制”,可使截获数据以16进制显示,否则为ASCII码显示。
“过滤/高亮”:菜单栏选择“选项(O)”-> “过滤/高亮(L)…” 。
弹出设置窗口。
可进行过滤及高亮的设置,以便于数据的观查。
注:过滤可按上图设置,如果不过滤,而要截获串口操作的所有过程,则包含中只填入“*”号,但不能为空。
• 其它设置:“最大输出字节”:菜单栏选择“编辑(E)”->“最大输出字节”,弹出设置窗口。
如数据显示不全时,可调整此项。
字体设置:菜单栏选择“编辑(E)”->“字体(N)”,弹出设置窗口。
听风(原Wise#Pragma)串口调试助手V0.22使用说明
软件主界面"听风"是一款独特的串口调试工具,主要有以下功能及特点:1.能自动列举本机存在的串口,能显示串口详细描述及串口号,省去打开设备管理器查看串口的麻烦2.能自动识别新增的串口及移除的串口3.能很好的支持中文接收与发送4.分离十六进制发送与文本发送窗口,省去切换麻烦5.独创的右键菜单串口设定,及多种方便快捷选择串口的方式:如快捷键,鼠标滚轮6.独创的右键菜单保存常用数据功能,让调试单片机更方便7.独创的一次发送功能,不再为发送一次数据,要先打开串口的然后再关闭的麻烦8.能自动保存串口设定9.支持多种发送方式:十六进制发送,文本发送,文件发送,选中发送,输入立即发送,回车发送,定时循环发送...10.可切换顶层显示窗口功能,方便调试11.其它附加功能:移动硬盘识别,打开与删除,打开常用工具,打开常用路径................. V0.22更新说明.......................1.Wise#Pragma串口调试助手确定中文名为"听风"串口调试助手2.增加921600,460800,230400波特率项3.增加发送框Terminal功能4.标题栏中增加大小写等指示5.发送框Terminal功能中AT行开头者末尾增加CR6.增加存档的导出导入功能7.增加存档修改提示,存档的导入与导出功能8.增加ASCII码表,GBK码表,打开常用工具,显示打开常用路径等功能9.增加[串口状态显示框]彩色显示10.精简右键菜单,增加菜单图标...............................................一.串口的设定1.如图所示,在右键菜单中可以察看,选择并设定串口的端口号,波特率,数据位,停止位和奇偶位2.使用鼠标快捷键方式选择(在[串口状态框]中双击鼠标中键也可以打开或关闭串口)3.使用键盘快捷键方式选择:Alt+C 改变串口,序号为递增变化Alt+Shift+C改变串口,序号为递减变化Alt+B 改变波特率,波特率为递增变化Alt+Shif+B 改变波特率,波特率为递减变化Alt+X 打开/关闭串口Alt+V 最前端切换Alt+Z 文本十六进制数字显示接收的切换Alt+A 发送文本Alt+S发送HEXAlt+D 加载文件Alt+F 发送/取消发送文件二.串口数据收发1.数据接收当☆显示成★;”开”显示成”关”;标题上有旋转显示-\|/符号,代表串口已打开,打开串口后,串口收到的数据显示在接收框内,若接收方式是”文”则收到以文本显示,接收到汉字会自动转化,若接收方式是”数”则收到数据以十六进制方式显示2.十六进制发送按[HEX发送]键,发送[十六进制数据发送框]内的内容3.文本发送按[HEX发送]键,发送[文本发送框]内的内容4.循环定时发送在定时框内输入定时毫秒数,在右键菜单中选择相应的定时模式,如下图所示5.文件加载与发送(2)在弹出的打开文件对话框中切换目录选择要加载的文件打开(1)右键菜单中选择载入文件菜单,或者拖曳文件到框内,或者通过Alt+D 加载文件(3)文件加载成功,显示编码信息与大小(4)右键菜单中,选择发送文件或者按Alt+F(5)发送过程中可以右击"取消发送",或者按Alt+F6.发送选定在[接收框]及[文本发送框]内发送选定则以文本方式发送在[十六进制框]内选定以十六进制方式发送三.存档功能使用存档功能,我们可以把常用的数据”存入”右键菜单中,并且为它取个容易记住的名字,不用再去反反复复输入指令,不用再为了记住长长的指令和功能而烦恼. 利用导出导入存档功能我们还可以备份常用的数据1.改变存档标题如下图所示,在[接收显示框][文本发送框][HEX发送框]内选中文本,按住鼠标中键,并在右键菜单中单击记忆项菜单2.改变存档内容在[接收显示框][文本发送框][HEX发送框]内选中文本,在右键菜单中单击记忆项菜单3.取出存档在[接收显示框][文本发送框][HEX发送框]内不选中文本,在右键菜单中单击记忆项菜单(按住鼠标中键,则会先清空再取出)4.存档导入与导出(1)导出存档将当前的记忆项中的存档导出为指定名称的.tfwp文件(2)导入存档将先前导出的.tfwp存档文件,导入到右键菜单的记忆项中(3)立即存档将当前的存档保存到软件所在目录, 并取名为default.tfwp的存档文件中(4)立即读取从软件所在目录,名为default.tfwp的存档文件中读取存档到右键菜单的记忆项中三.其他附加的功能1.本机串口自动管理功能软件能实时侦测串口的插入,与移除,查看串口列表请按F4,或者在右键菜单中的”串口设定->通讯口”中查看2.常用工具常用工具菜单中添加了系统中最常用的系统工具,通过单击相应的菜单项,我们能迅速地打开相就的工具,省去了在开始菜单中搜寻的麻烦3.常用路径常用路径菜单中添加了桌面,我的电脑,及电脑内所有分区的内容单击[桌面]项,打开桌面文件夹,按住鼠标中键,再单击[桌面]项则所有窗口均最小化,以显示桌面单击[我的电脑]项,打开我的电脑的文件夹[高亮的分区]项显示了本机电脑上存在的分区相关信息,如盘符,卷标,硬盘类型,文件系统高亮项下[灰色菜单]项列出相应分区可用空间/总大小和使用空间/总大小若是移动硬盘,会添加一个[移除分区的菜单]项,单击此菜单项可以移除移动硬盘4.接收框简单Terminal功能输入光标自动到最后行 启用标题显示~,光标在有输入时自动跳转到最后一行按键输入立即发送 启用标题显示K(表示KEY,按下立即发送),否则显示R(表示RETURN,回车发送) 输入回显 启用标题显示[],否则显示(),按Shift+Tab切换首次发送自动打开串口 串口未开时第一次发送自动打开串口以便发送AT指令末尾发送CR 以AT开头的输入,不选择输入立即发送时,回车发送会自动在末尾添加CR回车键发送CR,回车键发送LF 回车键后添加CR,LFShift+Enter 文本换行Enter 发送当前行,并光标跳下一行Alt+Enter 发送当前行,光标不换行Ctrl+Enter 光标到最后一行Ctrl+Shift+Q 切换禁用所有Ctrl+Shift+W 输入光标自动到最后行Shift+Tab 切换输入回显Tab 切换按键输入立即发送5.调整分割窗口6.快捷键列表标题显示 含义L 输入为小写字母,按CapsLk切换U 输入为大写字母,按CapsLk切换X 禁用接收框所有附加功能,按Shift+Ctrl+Q切换 R 回车发送当前行,Tab键切换K 按键立即发送,Tab键切换[] 输入回显,按Shift+Tab切换() 输入不回显, 按Shift+Tab切换~ 输入光标自动到最后行,按Shift+Ctrl+W切换012/123B 发送的总字节数为123Bytes,现已发送到第12字节 0012/23L 发送的总行数为23Lines,现已发送到第12行F1...帮助说明信息F2...中文随机测试文本F3...中文英文测试文本切换F4...列出本机存在的串口清单F5...清除接收显示F6...清空所有显示;按住鼠标中键,并单击右键菜单中清空F7...列出硬盘信息F9...卸载软件;清除注册表相关配置Alt+'A' 文本发送Alt+'S' HEX发送Alt+'D' 文件加载Alt+'F' 发送或取消文件发送Alt+'Z' 切换接收显示文本或数字Alt+'X' 打开或关闭串口,或在[串口状态显示框]双击鼠标中键Alt+[Shift]+'C' 串口切换;在[串口状态显示框]按住鼠标左键并滚动鼠标滚轮ALT+[Shift]+'B' 切换波特率;或在[串口状态显示框]按住鼠标右键并滚动鼠标滚轮Alt+'V' 前端显示切换Alt+Up/Down HEX&ASCII分割窗口调节Tab 切换按键立即发送[Shift]+Enter 接收框文本换行清空显示 在[接收显示框][文本发送框][HEX发送框]内双击鼠标中键数据存档 在[接收显示框][文本发送框][HEX发送框]内选中文本,在右键菜单中单击记忆项菜单改变存档标题 在[接收显示框][文本发送框][HEX发送框]内选中文本,按住鼠标中键,并在右键菜单中单击记忆项菜单取出存档 在[接收显示框][文本发送框][HEX发送框]内不选中文本,在右键菜单中单击记忆项菜单(按住鼠标中键,则会先清空再取出)全选复制,全选剪切 在[接收显示框][文本发送框][HEX发送框]不选中文本右击,在右键菜单中单击复制,剪切菜单;或按住鼠标中键并在右键菜单中单击复制,剪切菜单 清空粘贴 在[接收显示框][文本发送框][HEX发送框]右击,按住鼠标中键并在右键菜单中单击粘贴菜单四.结尾软件最低配置:Windows XP若不幸发现BUG,或有什么建议,请告诉我:E-mail:wisepragma@取得软件最新版本请关注作者主页:/wisepragma声明:本软件为绿色免费软件,仅用于个人测试用途,WisePragma版权所有,未经作者允许禁止商用。
BACnetMSTP开发的入门篇
工欲善其事,必先利其器。
首先,给大家介绍BA Cnet MS/TP开发的入门篇--工具准备篇。
1 串口调试程序因为在BACn et MS/TP开发中,开发者要时刻关心BACne t数据包的状态,在这里仅给大家推荐4款串口监视调试软件。
1.1 串口调试助手这个工具很常见,在网络上可以搜索到很多,笔者用的是图标为两把剑的那款,在BACnet 下载页面中,您可以找到该工具。
该工具用来确认PC和设备的串口状态必备,因为很多时候,大家不太好区分哪个是COM Portxx,所以用这个小工具一下就可以试探出来。
1.2 串口监听软件笔者使用的是图标为一把鹤嘴钳的小工具,工具很小,但是它是从驱动层抓取数据包,有时候条件简单的情况下,可以快速分析出通讯错误来。
该工具在BAC net下载页面中也有提供。
1.3 DeviceMonitor ing Studio笔者后来在网上找到了该软件,感觉功能很强的,也是在驱动层直接抓取数据包,但是他反馈的数据包之间的时间间隔很准确,可以在BACn et协议开发的后期,调系统性能阶段使用。
该工具在BAC net下载页面中也有提供,不过是30天的试用版。
1.4 COMWATC H这个工具是把好剑,不过是一把双刃剑,不便的原因是他在DOS下运行,要求笔者有两台电脑才适用,不过往往越简单越能见真理,分析起数据包的时序来,感觉还真是非它莫属。
在后期调时序阶段必不可少,由于版权问题,该软件咱不提供下载服务。
2 数据包仿真软件什么样的BAC net MS/TP数据包是准确的符合BA Cnet MS/TP协议标准的数据包,这个是初级开发人员时常困惑的问题,笔者在初步接触BACnet的时候,也是无从下手,好在笔者开发的条件比较充足,手上不仅有一个标准的BACnet MS/TP DDC,还有一些前辈已经摸着石头趟了一番BAC net MS/TP开发的浑水,并且留下了一批枪支弹药。
串口监听工具的使用
串口监听工具的使用今天给大家演示下怎么监听端口或串口数据:在调试设备时:厂家提供了上位机软件,你还在为计算厂家发送了什么指令而发愁吗?本节录像将着重讲述如何通过监听软件,监听厂家发送了什么指令?我们一般调试时使用的硬件工具无非是两种:818及USB转串口工具。
如果使用818连接设备,在这里我们可以直接使用VSPM虚拟串口工具就可以监听到串口数据;如果使用USB转串口连接的设备,在这里我们可以使用Portmon 这款软件监听串口数据。
在这里我使用两种工具分别演示下怎么监测PM33电量仪数据。
一、使用VSPM.exe跟踪端口数据1、确定已安装VSPM,未安装,请安装,这里不再演示安装步骤;2、使用VSPM虚拟串口,我这里使用的818IP为:192.168.9.172,我虚拟个COM4口,端口为27011;3、打开PM33上位机软件、并配置好参数,设备地址为10,好了,通讯成功。
4、跟踪串口数据,请仔细看,这里我们就可以监听到端口发送了什么数据,返回了什么数据;5、数据分析:我们通过VSPM,还可以发现设备波特率、数据位、停止位、效验等参数。
6、试想某上位机软件打开状态为19200,N,7,1,在这里若上位机与设备通讯不上,就要配置下818的端口参数了。
好了,演示完VSPM,接下来演示Portmon二、使用Portmon.exe监听串口数据1、确定已安装Portmon,此版本为绿色版,无需安装;2、打开PM33上位机软件、并配置好参数,我这里假设,使用的USB转串口就是COM4口;3、跟踪串口数据,这里注意些配置,在这里我只捕获COM3口上数据,以便分析,用上位机软件连接下,显示的数据为16进制,这里也可看到些通讯参数(波特率,数据位等),可以根据实际情况进行过滤,去掉些不必要数据。
我在这里过滤后基本上就是输入,输出数据了。
4、数据分析:好了,端口、串口监听就演示到这里了。
注意:串口监听软件,默认最大返回长度为64,可以跟据实际情况更改:编辑菜单--最大输出字节处更改。
泰康串口大师使用教程
泰康串口大师
泰康串口大师是一款在Windows平台下通过串口接收发送数据的工具软件。
采用多线程设计,使得软件操作性能更佳。
泰康串口大师在启动后能够自动检测并列出所有存在的COM 接口,能够记录数据到达时间(毫秒ms级),支持以16进制和字符两种方式接收、发送、保存数据并且具有循环发送数据的功能。
另外,支持ASCII码与字符之间自动转换。
简单的发送接收数据的方法与大多数串口助手软件类似,此处不再赘述。
需要特殊说明的是,当使用根据字符插入时间戳的功能时,要注意:
1.当且仅当在接收设置区域同时选择“加入时间戳”和“十六进制显示”时,才能够激活记录数据到达时间功能。
2.目前只支持根据1个字符的16进制ASCII数值添加时间戳。
3.如果本功能启用后没有在对应的编辑框中写入数据,那么软件会默认在收到的数据中查找00,并在其前面添加时间戳。
4.如果收到的数据中没有已设定的字符,按么软件不会添加时间戳。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在调试设备时:厂家提供了上位机软件,你还在为计算厂家发送了什么指令而发愁吗?
本节录像将着重讲述如何通过监听软件,监听厂家发送了什么指令?
我们一般调试时使用的硬件工具无非是两种:818及USB转串口工具。
如果使用818连接设备,在这里我们可以直接使用VSPM虚拟串口工具就可以监听到串口数据;
如果使用USB转串口连接的设备,在这里我们可以使用Portmon这款软件监听串口数据。
在这里我使用两种工具分别演示下怎么监测PM33电量仪数据。
一、使用VSPM.exe跟踪端口数据
1、确定已安装VSPM,未安装,请安装,这里不再演示安装步骤;
2、使用VSPM虚拟串口,我这里使用的818IP为:192.168.9.172,我虚拟个COM4口,端口为27011;
显示的数据为16进制,这里也可看到些通讯参数(波特率,数据位等),可以根据实际情况进行过滤,去掉些不必要数据。
我在这里过滤后基本上就是输入,输出数据了。
4、数据分析:
好了,端口、串口监听就演示到这里了。
注意:串口监听软件,默认最大返回长度为64,可以跟据实际情况更改:编辑菜单--最大输出字节处更改。
好了,演示完VSPM,接下来演示Portmon
二、使用Portmon.exe监听串口数据
1、确定已安装Portmon,此版本为绿色版,无需安装;
2、打开PM33上位机软件、并配置好参数,我这里假设,使用的USB转串口就3口上数据,以便分析,用上位机软件连接下,
3、打开PM33上位机软件、并配置好参数,设备地址为10,好了,通讯成功。
4、跟踪串口数据,请仔细看,这里我们就可以监听到端口发送了什么数据,返回了什么数据;
5、数据分析:我们通过VSPM,还可以发现设备波特率、数据位、停止位、效验等参数。
6、试想某上位机软件打开状态为19200,N,7,1,在这里若上位机与设备通讯不上,就要配置下818的端口参数了。