新建乙個串列埠物件
serialport port =
newserialport()
;設定串列埠的一些配置
port.portname =
"com1"
;//串列埠名
port.baudrate =
115200
;//波特率
port.databits =8;
//資料位
port.parity = parity.none;
//校驗位
port.stopbits = stopbits.one;
//停止位
port.readtimeout =
1000
;//讀串列埠延時
port.writetimeout =
1000
;//寫串列埠延時
清空緩衝區
discardinbuffer()
//丟棄來自序列驅動程式的接收緩衝區的資料。
discardoutbuffer()
//丟棄來自序列驅動程式的傳輸緩衝區的資料。
串列埠的讀和寫
先說寫:
sp.write
(data,o,data.length)
;//注意data是byte
在說讀:
sp.datareceived +
=new
serialdatareceivedeventhandler
(com_datareceived)
;//繫結事件(註冊埠資料獲取作業系統託管監聽事件)
//datareceived事件表示將處理的 serialport 物件的「資料接收事件」的方法
private
void
com_datareceived()
之後你需要新建乙個方法來接受你的資料,sp.datareceived用於和時間繫結,注意這個方法不在
主線程上(如果想將資料顯示到主介面需要使用到委託),而且只有串列埠有資料接受到就會觸發這
個事件,如果出發太快,會導致資料丟失或者程式拋錯,所以加上如圖,等資料全部接受完再讀取
這時候資料讀寫都已經完成。
解析資料:
解析資料,一定要遵守下位機老司機的協議文件,不下位機老師傅的協議文件,資料讀出來後,
是2個byte乙個值,4個byte乙個值,是用ascii還是unicode編碼都一定要按照協議進行解析。
每個serialport被建立後,都會分配兩個緩衝區,輸入緩衝區和輸出緩衝區。常用方法:
close 關閉埠連線,將 isopen 屬性設定為 false,並釋放內部 stream 物件
getportnames 獲取當前計算機的串列埠名稱陣列
open 開啟乙個新的串列埠連線
read 從 serialport 輸入緩衝區中讀取
write 將資料寫入串列埠輸出緩衝區
常用事件:
datareceived 表示將處理 serialport 物件的資料接收事件的方法
C 串列埠通訊
串列埠通訊類 serialportdao.csusing system using system.collections.generic using system.text using system.io.ports namespace ly.fuelstationpos.protocol set ...
C 串列埠通訊
本文 串列埠介紹 串列埠叫做序列介面,也稱序列通訊介面,按電氣標準及協議來分包括rs 232 rs 422 rs485 usb等。rs 232 c rs 422與rs 485標準只對介面的電氣特性做出規定,不涉及接外掛程式 電纜或協議。usb是近幾年發展起來的新型介面標準,主要應用於高速資料傳輸領域...
C 串列埠通訊
但是網上好多都是寫的窗體程式 還有各種複雜的類裡面,看起來很費勁兒,所以我這裡就寫了乙個 只有控制台 只有 乙個主函式類 類似於c語言結構化的方式,把真的的問題暴露出來,重點凸出來.大概步驟就是 檢測串列埠是否存在以及數量 定義乙個埠控制代碼 serialport 設定埠控制代碼的資訊 埠號,波特率...