使用 C# 開發上位機,通過串口與下位機通信,實時顯示電機波形圖與轉速儀表盤。
System.IO.Ports.SerialPort 控件。BaudRate、DataBits、StopBits、Parity;訂閱 DataReceived 事件解析數據包;注意跨線程調用 UI 需 Invoke。System.Windows.Forms.DataVisualization.Charting.Chart (MSChart)。Series.ChartType = SeriesChartType.FastLine 高性能繪製;雙緩衝 Chart.DoubleBuffered = true 減少閃爍;數據量大時採用循環數組或移除舊點保持內存穩定。PictureBox + GDI+ 繪製。Paint 事件中根據角度計算指針端點 x = cx + r * sin(angle), y = cy - r * cos(angle);Timer 定時 Invalidate() 刷新。所有控件均為 .NET Framework 內置,Google 關鍵字「C# SerialPort 例子」「MSChart 實時曲線」「PictureBox 繪製儀表盤」即可找到大量可直接運行的 Demo 代碼。
CommunicationManager 類處理協議解析,通過事件/回調推送給 UI。ConcurrentQueue)解耦,避免 UI 線程阻塞。善用內置控件,專注協議解析與業務邏輯,快速構建專業上位機。