usb下载串口检测工具 (usb下载串口检测工具不了)

由于同事最近调试了硬件的串口通信功能,PLC还没到,准备用了USB通过计算机连接到终端上的转串口线USB口模拟串口收发功能。一开始,我的同事下载了一个串口调试工具,发现没有自定义功能。例如,当通信串口收到终端发送的数据时,需要自动响应相应的指令数据(ModBus 主从问答)。为配置同事硬件调试,准备下载开源串口调试工具,增加自定义响应功能。

Serial port

搜索串口调试开源软件搜索

打开github网站搜索串口调试,我们搜索了一个叫做WPFSerialAssitan串口调试软件感觉更符合我们的要求。其README.md文件介绍如下:

WPFSerialAssitan 串口助手是基础C#及WPF串口助手软件。本串口助手操作方便,UI简洁。该软件实现了串口通信所需的基本功能,开发者可以在此基础上添加自定义功能。此外,还可以开发一些简单的串口控制软件。

当然,我们可以先在本地克隆代码fork一个到自己的仓库,然后克隆到当地,这样我们就可以在修改后推动更改github上。我们使用vs2019年打开工程,查看其基本代码结构。

WPFSerialAssitan code

串口调试开源软件修改

我们可以看到以看到核心代码EventHandler.cs、core.cs 在两类文件中,我们定义一个Dictionary,必须定义收到的指令和需要回应的指令。

WPFSerialAssitan even code

然后我们修改红色框中的代码,判断收到的数据,如果属于字典autoReply将相应的内容自动应答到串口。

string recvString = Utilities.BytesToText(recvBuffer, receiveMode, serialPort.Encoding); this.Dispatcher.Invoke(new Action(() =>{ if (showReceiveData){ // 根据显示模式显示接收到的字节. recvDataRichTextBox.AppendText("接收: " recvString System.Environment.NewLine); recvDataRichTextBox.ScrollToEnd(); }dataRecvStatusBarItem.Visibility = Visibility.Collapsed; ///我们添加自动回复功能 //如果收到的指令配置在自动响应字典中,则自动回复Key对应的Value if (autoReply.ContainsKey(recvString)){ SerialPortWrite(autoReply[recvString]); recvDataRichTextBox.AppendText("发送: " autoReply[recvString]System.Environment.NewLine); }}));编译运行

由于时间的关系,我们将需要自动响应的指令和回复内容硬编码到代码中,有时间添加配置界面,设置需要自动响应的指令并保存。

串口调试助手