解決方案
錯誤-1073807253是framing錯誤。串行數據一次傳輸一個位元組。每個位元組都有特定的格式,包括開始位元,數據位元,奇偶校驗和停止位元。接收到一個位元組的數據但未採用預期的格式時,將發生framing錯誤。由於多種原因,可能會發生這種錯誤:
A.從該端口接收到第一個字元時,該端口可能尚未完全完成其配置。通過在“VISA Configure Serial Port VI” 後放置一個延遲(大約10-100毫秒),可以為串行端口留足夠的時間進行自我配置。然後,通過使用VISA Flush I/O Buffer VI,可以清除緩衝區中的所有無效數據。讀完此序列後將可以正常工作。您的block diagram如下所示:
B.您可能在讀取/寫入任務完成之前關閉了VISA資源。
C.您的串行端口和設備可能配置為使用不同的設置。要解決此問題,請打開NI Measurement&Automation Explorer(NI MAX),然後在“Devices and Interfaces”下選擇您的串行端口。在“port settings”選項下,確認VISA資源的Name, Baud rate, Data bits, Parity和Stop bits都與設備的設置匹配。檢查配置的最簡單方法是使用示波器跟踪接收到的訊號。
請注意:您可以在運行時以編程方式更改這些設置,如上例所示,或在NI-MAX中如以下例子所示。
D.您的電纜可能鬆動。檢查並確保已牢固插入電纜。
E.您的串行電纜可能損壞或串行電纜的類型錯誤。嘗試使用另一條串行電纜,並檢查設備手冊,以確定是否需要使用零調製解調器或直通電纜。請參閱文章:我該使用對繞線還是直連線?
F.您可能在串行線上遇到噪音。將串行電纜從電源線,顯示器或其他潛在的噪聲源移開。
G.驅動程式安裝可能已損壞。這不太可能,但是要使用串行設備,您需要在電腦上安裝LabVIEW,NI-Serial和NI-VISA。如果錯誤仍然存在並且您已經嘗試了所有上述步驟,則可能需要修復這些安裝。請參考強制重新安裝無法運行或損壞的NI軟體