前面設計好了介面,現在就開始寫**了,首先定義乙個串列埠物件..
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(objectsender, serialdatareceivedeventargs e)
));}
上面的**中我們從讀取到的資料處理 完成,之後修改進度條的值,這個裡面就是一段簡單的接受資料,處理,要想資料無措,還要加入相應的校驗函式和自己的演算法處理,
我們在接受之前還需要設定串口號,波特率等等,看下面的**
privatevoid 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...