深夜調試ESP32,剛燒錄完固件,手速飛快打開串口監視器想抓啟動日志——結果板子直接重啟了。DTR/RTS信號線在你點下“連接”的瞬間產生跳變,ESP32自動復位,你最想看到的那幾行輸出就這樣消失了。
這種體驗夠糟心的,一位開發者被坑的次數多了,索性自己寫了個終端。
![]()
這款工具叫CNTerminal,免費、便攜,整個程序就是一個約8MB的單文件可執行程序,運行在Windows上。無需安裝、不用運行時環境、不要求管理員權限——扔進U盤里,插到一臺鎖死權限的實驗室電腦上就能跑。
它的核心賣點很明確:DTR和RTS信號控制。保持連接時DTR不跳變,ESP32就不會自動復位,你終于能看到完整的啟動輸出。此外,這個終端還內置了十六進制收發功能和ASCII與十六進制的互轉工具——調試二進制協議時再也不用切到瀏覽器里找在線轉換網站。長時間記錄會話也不怕,5000行的自動裁剪機制防止日志慢慢吞噬內存、拖慢界面。
其他常規功能也沒落下:串口號和波特率選擇、時間戳顯示,以及深琥珀色的CRT風格主題——長時間盯著看眼睛不會那么累。整個界面透著一股老派終端的實用氣質。
為什么選Rust加egui框架?作者的目標是生成一個別人能在任何地方直接運行的單獨文件,這條要求直接排除了所有需要運行時的方案。Rust配合egui恰好滿足需求:整個圖形界面應用編譯成一個精簡的原生二進制文件,即時模式的UI讓串口讀取循環和渲染循環的協調變得清晰直接,而serialport-rs這個庫搞定設備端的交互。
整個開發過程中最棘手的部分不是界面,而是讓串口讀取線程、帶自動裁剪的回滾緩沖區與圖形界面的重繪機制協同工作,在高波特率下不丟字節。源碼以MIT協議開源,體積不大,感興趣可以去翻翻。
作者明確界定了當前的能力范圍:目前僅在Windows上運行,因為單文件可執行程序的便攜性是首要目標;它就是一個終端,不是IDE插件,只干好串口輸入輸出這一件事。如果你整天泡在串口監視器里——無論是Arduino、ESP32、STM32還是RS-232工業設備——不妨試試看,告訴作者和你手頭的工具相比還缺什么。功能請求和缺陷報告都非常歡迎,直接在GitHub上提或帖子下留言都行。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.