基礎 API 三部曲
CreateFile 開啟串口
WriteFile 寫入資料
ReadFile 讀取資料
搭配裝置通訊協定即可開發。
VC.NET 專案實戰坑點
- P/Invoke 簽名:Form 代碼後置 (.h) 無法識別
CreateFile,需在 .cpp 實作並 #include <windows.h>,否則命名空間污染導致錯誤。
- 廠商 DLL 互操作:C/C++ 寫的底層 DLL 難以直接引用,建議以 VB.NET 二次封裝 (模組相容性較好) 再供 C# 呼叫。
硬體保護機制應對
- 硬體**不會**完全依照規格書運作。
- 需投入大量精力處理:逾時重試、校驗碼驗證、斷線重連、狀態機容錯。
- 通訊協定成熟時,成熟語言 (VC6/VB6) 往往比 .NET 早期版本更穩定;但為技術傳承仍選擇 .NET。
心得總結
「串口操作本身不複雜,複雜的是連接硬體後的保護機制與異常情況處理。」