最近,小白嘗試學習使用c#構建乙個上位機,因此先以簡單的串列埠通訊上位機入手,參考了各種網上資源,最終以介個博主的內容作為模板,進行上位機的構建。學習中也是遇到了許多問題。
問題一:收發機制不熟悉,學習了博主的部落格後,豁然開朗;
問題二:使用vs2019實現中,發現當發資料加上時間戳後,老是每次只能接收乙個位元組。然後找了好久的問題。。。。。。。。。。。。。。。。。。。。
無意中發現,使用波特率為9600時,並沒有出現這個現象。懷疑是以前的波特率是1200,傳輸資料速度太慢。於是在網上查閱資料後,在接收部分加乙個延時system.threading.thread.sleep(100);就好了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
先貼接收和傳送的**~後期還要修改除錯
private void serialport1_datareceived(object sender, system.io.ports.serialdatareceivedeventargs e)
}else
}else//當傳送為16進製制時
}else
}//因為要訪問ui資源,所以需要使用invoke方式同步ui
tryelse
label7.text = "rx:" + receive_count.tostring() + "bytes";})
);}catch (exception ex)
}private void button2_click(object sender, eventargs e)
//如果使用者輸入的字元是奇數,則單獨處理
if (send_data.length % 2 != 0)
//判斷是否需要傳送新行
if (checkbox3.checked)
}else
else
}sendandreceive_count = num;
send_count += num; //計數變數累加
label8.text = "tx:" + send_count.tostring() + "bytes"; //重新整理介面}}
catch (exception ex)
}
c 上位機開發3
從.net framework 2.0開始,c 提供了serialport類用於實現串列埠控制。命名空間 system.io.ports。其中詳細成員介紹參看msdn文件。下面介紹其常用的字段 方法和事件。1.常用字段 名稱說明 portname 獲取或設定通訊埠 baudrate 獲取或設定序列波...
C 上位機簡單使用
寫的比較簡單 破解時間限制的補丁 提取碼1123 如下 示例 opcserver objserver opcgroups objgroups opcgroup objgroup opcitems objitems array stritemids array lclienthandles array...
C 上位機軟體 串列埠
using system.io.ports 串列埠類 serialport 屬於該命名空間 string portstr serialport.getportnames 搜尋當前裝置下的串列埠 該方法為串列埠類的靜態方法,呼叫方法 類名 函式名public serialport sp newseri...