基於C 實現串列埠通訊Demo

2021-09-02 07:52:41 字數 3602 閱讀 6521

24 //getportnames()方法:獲取當前計算機的串列埠名的陣列

25 foreach (string com in system.io.ports.serialport.getportnames())

26

29 30 cbcom.selectedindex = 0;

31 sp1.baudrate = 9600;

32 control.checkforillegalcrossthreadcalls = false;

33 sp1.datareceived += sp1_datareceived;

34

35 sp1.dtrenable = true;//獲取或設定乙個值,該值在序列通訊過程中啟用資料終端就緒 (dtr) 訊號。

36 sp1.rtsenable = true;//獲取或設定乙個值,該值指示在序列通訊中是否啟用請求傳送 (rts) 訊號

37 //設定資料讀取超時為1秒

38 sp1.readtimeout = 1000;

39 40 sp1.close();

41 }

42 43 private void sp1_datareceived(object sender, serialdatareceivedeventargs e)

44

56 catch (system.exception ex)

57

61 }

62 else

63

66 }

67 68 //將接受到的內容顯示出來

69 private void addcontent(string content)

70 ));

78 }

79 80 private void btnopen_click(object sender, eventargs e)

81

115 switch (cbcheck.text) //校驗位

116

130

131 if (sp1.isopen == true)//如果開啟狀態,則先關閉一下

132

135

136 //設定必要控制項不可用

137 cbcom.enabled = false;

138 cbbaudrate.enabled = false;

139 cbdatabits.enabled = false;

140 cbstop.enabled = false;

141 cbcheck.enabled = false;

142 sp1.open(); //開啟串列埠

143 btnopen.text = "關閉串列埠";

144 }

145 catch (system.exception ex)

146

150 }

151 else

152

163 }

164

165 private void btnsend_click(object sender, eventargs e)

166

173 string strsend = txtsendstr.text;

174 try

175

180 catch (exception ex)

181

184

185 }

186

187 }

188 }

在自己同一臺電腦上測試,需要先用configure virtual serial port driver建立兩個虛擬串列埠,如下

串列埠執行結果如下:

上述兩窗體通訊時要選擇同一波特率,不然收發資料會失敗

關於c# serialport的一些說明:

serialport() :如果未指定,則此建構函式使用預設屬性值。 例如, databits 屬性預設值為 8, parity 屬性預設為 none 列舉值,

stopbits 屬性預設值為 1,預設埠名為 com1。

public static string getportnames() :獲取當前計算機的串列埠名的陣列

serialport.read 方法 (byte, int32, int32) :從 serialport 輸入緩衝區讀取一些位元組並將那些位元組寫入位元組陣列中指定的偏移量處

serialport.readline 方法 () :一直讀取到輸入緩衝區中的 newline 值

serialport.write 方法 (byte, int32, int32) : 使用緩衝區中的資料將指定數量的位元組寫入串列埠

serialport.writeline 方法 (string) : 將指定的字串和 newline 值寫入輸出緩衝區。

Qt 串列埠通訊的簡單demo

首先連線裝置,我用得是 接著編寫qt程式,要加入serialport模組。主要cpp include widget.h include ui widget.h include include widget widget qwidget parent qwidget parent ui new ui ...

在C 中實現串列埠通訊

本文主要是講述如何通過c net1.1平台呼叫api操作串列埠,net2.0已經內建串列埠操作類!通常,在c 中實現串列埠通訊,我們有四種方法 第一 通過mscomm控制項這是最簡單的,最方便的方法。可功能上很難做到控制自如,同時這個控制項並不是系統本身所帶,所以還得註冊。可以訪問 乙個外國人寫的教...

串列埠通訊Serial Port類C 實現

串列埠介紹 串列埠叫做序列介面,也稱序列通訊介面,按電氣標準及協議來分包括rs 232 rs 422 rs485 usb等。rs 232 c rs 422與rs 485標準只對介面的電氣特性做出規定,不涉及接外掛程式 電纜或協議。usb是近幾年發展起來的新型介面標準,主要應用於高速資料傳輸領域。rs...