因為前段時間需要用到串列埠接收資料,且使用的串口號不確定,需採用多執行緒的方式來實現接收。
建立執行緒:
thread thread = null;
for (int i = 0; i < portnum; i++)//根據選擇的串口號數量建立對應數量的執行緒
執行緒執行函式:
public static void run(string serialname )
sp1.open();
}
資料接收處理函式:
private static void sp1_datareceived(object sender, serialdatareceivedeventargs e)
int len = sp.bytestoread;//資料的長度
byte receiveddata = new byte[len];
sp.read(receiveddata, 0, len);//讀取資料
}}
C 多執行緒操作WPF GUI控制項,串列埠資料接收傳送
執行環境為vs2015,如果直接在多執行緒中操作gui會報錯,在.net中,可以通過dispatcher.invoke來委託進行操作 具體用法示例 節選自該程式中接收下位機傳送資料並顯示的 1.先在其他函式 中建立並啟動執行緒 threadstart threadstart newthreadsta...
多執行緒串列埠接收資料 全域性變數的使用
開啟乙個新執行緒,死迴圈接收串列埠資料 一.在工程新增threa.h和thread.cpp thread.h ifndef thread h define thread h include class thread public qthread endif thread hthread.cpp in...
C 基於事件驅動的多串列埠多執行緒串列埠通訊軟體架構設計
最近寫乙個串列埠通訊程式,客戶對介面,容量要求都比較高。要求支援多串列埠同時工作。於是自己提煉了乙個架構,用於拋磚引玉。本來想用vc,基於成本考慮,決定採用.net,而且c 的事件比vc的訊息容易控制些,只是跨執行緒觸發的時候稍微注意下。先上個圖 上圖是整個通訊控制架構,根據配置檔案載入例項,每個串...