我有一個小問題要問。SerialPort.ReadLine屬性用法
我需要從串口讀取數據。數據逐行顯示(我的意思是數據+輸入) 我是否必須如下設置serialPort屬性的新行?
SerialPort sp = new SerialPort();
sp.NewLine = "\r";
sp.ReadLine();
newline屬性的值是什麼? 我最好的問候...
我有一個小問題要問。SerialPort.ReadLine屬性用法
我需要從串口讀取數據。數據逐行顯示(我的意思是數據+輸入) 我是否必須如下設置serialPort屬性的新行?
SerialPort sp = new SerialPort();
sp.NewLine = "\r";
sp.ReadLine();
newline屬性的值是什麼? 我最好的問候...
這取決於您使用的協議。這意味着這是發送和接收部件的協議主題。
如果對方在Windows上使用.NET,最有可能的新行將是Environment.NewLine,你可以跳過設置它,因爲它是在Windows上的默認值。
在一般情況下,默認的新行序列是:
窗戶 '\ r \ n'
的Mac '\ r'
爲Linux '\ n'
自定義控制器 - 控制器的開發商無論放在那裏
因此,如果你寫一個軟件來接收來自Linux的東西,你可能會等待「\ n」作爲換行符值等
如果你有一些控制器進行數據交換(有一些設備交換) NewLine字符串可以是WHATEVER的ce軟件開發者設置它。
如果你開發這個協議並且不確定是否設置NewLine,我建議你設置你是否假設你的應用程序可以在多平臺環境下運行(I.E.發送者在windows上,接收者在linux上)。
你試過
sp.NewLine = Environment.NewLine;
謝謝回答。順便說一句,另一邊是電子卡... – 2012-01-31 12:50:48
比你應該將來自另一端的數據顯示爲字節序列,並查看來自那裏的行結束序列。 – MajesticRa 2012-01-31 13:00:01
我記得設備開發人員將NewLine設置爲'\ 0'以便於在C中讀取時的一種情況。 – MajesticRa 2012-01-31 13:03:27