8266串口调试助手_开源软件分享-基于WPF的串口调试工具
最近同事在調試硬件的串口通訊功能,由于PLC暫時還沒到,所以準備用USB轉串口線連接在終端上,通過電腦USB口模擬串口收發功能。一開始同事下載了一款串口調試工具,發現沒有自定義功能,比如通訊串口收到終端發送的數據,需要自動應答對應指令數據(ModBus 主從問答方式)。為了配置同事硬件調試,準備下載一個開源的串口調試工具,增加自定義應答功能。
Serial port
串口調試開源軟件搜索
打開github網站搜索串口調試,我們搜索到一款名為WPFSerialAssitan的串口調試軟件感覺比較符合我們的要求。其README.md文件的介紹如下:
WPFSerialAssitan 串口助手是一款基于C#及WPF的串口助手軟件。本串口助手操作方便,UI簡潔。軟件實現了基本的串口通訊需要的功能,開發者可以基于此添加自定義的功能。此外,可以基于此開發出一些簡單的串口控制類軟件。
我們將代碼克隆到本地,當然也可以先fork一份到自己的倉庫再克隆到本地,這樣修改后我們可以將更改推送到github上。我們使用vs2019打開工程,查看下其基本的代碼結構。
WPFSerialAssitan code
串口調試開源軟件修改
我們可以看到核心的代碼,基本在EventHandler.cs、core.cs 等2個類文件中,我們定義一個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); } }));編譯運行
由于時間的關系,我們將需要自動應答的指令和回復內容硬編碼到代碼里面了,以后有時間可以增加一個配置界面,設置需要自動應答的指令并且可以保存。
串口調試助手
總結
以上是生活随笔為你收集整理的8266串口调试助手_开源软件分享-基于WPF的串口调试工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 显示外部页面_前端设计-响应式页面开发基
- 下一篇: ajax 入参为list_ajax向后台