C 中使用SerialPort類實現簡單串列埠程式設計

2021-09-01 07:29:03 字數 1490 閱讀 2848

由於專案需要通過串列埠通訊,所以學習一下在此做一下筆記。

.net 2.0提供了串列埠通訊的功能,其命名空間是system.io.ports。這個新的框架不但可以訪問計算機上的串列埠,還可以和串列埠裝置進行通訊。

建立c#串列埠通訊程式之建立serialport 物件

通過建立serialport 物件,我們可以在程式中控制串列埠通訊的全過程。

我們將要用到的serialport 類的方法:

readline():從輸入緩衝區讀一新行的值,如果沒有,會返回null

writeline(string):寫入輸出緩衝

open():開啟乙個新的串列埠連線

close():關閉

//create a serialport object,with com1,baudrate 57600,parity bit:none,data bit:8 //stopbits:one serialport sport = new serialport("com1",57600,parity.none,8,stopbits.one); private void seriallistenfun() else string data; string path = path.getdirectoryname(system.reflection.assembly.getexecutingassembly().getname().codebase); //得到當前路徑 path = path+@"/newfile.txt"; filestream textfile = file.open(path, filemode.create, fileaccess.write,fileshare.read);//建立檔案   byte info ;   while (true) ); data += "/r/n"; info = new utf8encoding(true).getbytes(data);//轉換成位元組流 textfile.write(info,0,info.length);//寫入檔案 thread.sleep(10); } else ); thread.sleep(50); } } } catch(systemexception e) ); }

建c#串列埠通訊程式之串列埠的硬體知識

在資料傳輸的時候,每個位元組的資料通過單個的電纜線傳輸。包包括開始位,資料,結束為。一旦

開始位傳出,後面就會傳資料,可能是5,6,7或8位,就看你的設定了。傳送和接收必須設定同樣

的波特率和資料位數。

建立c#串列埠通訊程式之無貓模式

沒有modem模式的電纜只是簡單地交叉傳送和接收線。同樣dtr & dsr, 和 rts & cts也需要交叉。

這裡,我們三條線。互連2和3(一段的2pin連線3pin),連線兩端的5pin。

這裡需要注意:在wince上獲取當前路徑方法較為獨特,跟winxp win7上不同,pc上的方法不能用到這上面來,另外注意讀取串列埠資料時不能使用readline,可以使用readexisting目前還不知為什麼.

在C 中使用SerialPort類實現串列埠通訊

下面主要介紹該類的主要屬性 表1 和方法 表.2 檢視。使用system.io.ports讀取com口資料 表1 serialport類的常用屬性 名 稱 說 明 basestream 獲取 serialport 物件的基礎 stream 物件 baudrate 獲取或設定序列波特率 breakst...

C 中SerialPort類 隨筆

有時,對串列埠供電需要設定dtrenable 和rtsenable 兩個屬 在開發中有些串列埠裝置需要串列埠供電,使用c 中的serialport類預設情況下不會出發 datareceived函式,但使用超級終端卻可以接收到資料,這是因為 serialport 類的dtrenable 和rtsena...

使用QT串列埠類serialport筆記

4.在完成基本的qt配置後就能正常使用qt了,現在開始配置serialport相關 想使用serialport,除了引入serialport相關的類,還必須在pro檔案中,引入qt serialport pro檔案類似於乙個給qmake看的使用文件,把這個程式需要的庫檔案,包含目錄或者預處理的資訊都...