C 上位機制作之串列埠接受資料(利用接受事件)

2022-09-17 01:54:10 字數 1123 閱讀 5696

前面設計好了介面,現在就開始寫**了,首先定義乙個串列埠物件..

serialport serialport = new serialport();//

定義串列埠物件

新增串列埠掃瞄函式,掃瞄出來所有可用串列埠顯示在下拉框中,同時設定接受函式

string arryport =serialport.getportnames();

combobox1.items.clear();

for (int i = 0; i < arryport.length; i++)

combobox1.selectedindex = 0

; serialport.datareceived += serialport_datareceived;

ps:,因為串列埠的接受事件中開闢了新的執行緒,所以我們訪問ui資源時需要做特殊的處理,如果是winform中需要設定

control.checkforillegalcrossthreadcalls = false;//防止挎執行緒訪問

但是在wpf中沒有這個屬性就需要用委託來處理**如下

void serialport_datareceived(object

sender, serialdatareceivedeventargs e)

));}

上面的**中我們從讀取到的資料處理 完成,之後修改進度條的值,這個裡面就是一段簡單的接受資料,處理,要想資料無措,還要加入相應的校驗函式和自己的演算法處理,

我們在接受之前還需要設定串口號,波特率等等,看下面的**

private

void set_portname()//

將下拉框中的內容設定串列埠

private

void set_baudrate()//

設定波特率

private

void open_serial()//

啟動串列埠開始接收

catch

(exception)

}

這段**實現了從下拉框中讀取資料同時設定為當前串列埠的串口號,同樣的我們要設定資料位,檢驗位,都可以這樣做,設定完成我們就可以開啟串列埠了,看看吧,能接受資料嗎,

C 上位機制作之串列埠接受資料(利用接受事件)

前面設計好了介面,現在就開始寫 了,首先定義乙個串列埠物件.serialport serialport new serialport 定義串列埠物件 新增串列埠掃瞄函式,掃瞄出來所有可用串列埠顯示在下拉框中,同時設定接受函式 string arryport serialport.getportnam...

C 簡單的上位機制作之介面設計

今天開始打算正式在落戶了,寫點有用的吧,乙個簡單的c 上位機,也就是串列埠除錯助手廢話不多說,新建windows應用程式 到這人乙個工程就算是新建完成了,然後就是元件的新增了,我們需要在裡面新增四個下拉框分別用做 可用埠,波特率,校驗位,資料位的設定,還要兩個文字框用作收發資料使用,還有若干按鈕,單...

填坑之串列埠接受資料不完整包的解決辦法

通過串列埠收發包時,遇到了乙個包多次才接收完整的問題,猜測是串列埠的接收buffer大小的問題,這種問題採取的是拼包的形式解決,看起來略微繞,主要是申請了一定大小的buffer,外加兩個指標實現。如下 include include include include include include i...