public int handle
}public commport(string comstr)
//////設定dcb標誌位
//////
//////
internal void setdcbflag(int whichflag, int setting, dcb dcb)
else if (whichflag == 15)
else
dcb.flags &= ~(num << whichflag);
dcb.flags |= (uint)setting;
}///
///建立與串列埠的連線
///public int open()
// 設定通訊超時時間
getcommtimeouts(hcomm, ref ctocommport);
ctocommport.readtotaltimeoutconstant = readtimeout;
ctocommport.readtotaltimeoutmultiplier = 0;
ctocommport.writetotaltimeoutmultiplier = 0;
ctocommport.writetotaltimeoutconstant = 0;
setcommtimeouts(hcomm, ref ctocommport);
//設定串列埠引數
getcommstate(hcomm, ref dcb);
dcb.dcblength = marshal.sizeof(dcb);
dcb.baudrate = baudrate;
dcb.flags = 0;
dcb.bytesize = (byte)bytesize;
dcb.stopbits = stopbits;
dcb.parity = (byte)parity;
//------------------------------
setdcbflag(0, 1, dcb); //二進位制方式
setdcbflag(1, (parity == 0) ? 0 : 1, dcb);
setdcbflag(2, 0, dcb); //不用cts檢測傳送流控制
setdcbflag(3, 0, dcb); //不用dsr檢測傳送流控制
setdcbflag(4, 0, dcb); //禁止dtr流量控制
setdcbflag(6, 0, dcb); //對dtr訊號線不敏感
setdcbflag(9, 1, dcb); //檢測接收緩衝區
setdcbflag(8, 0, dcb); //不做傳送字元控制
setdcbflag(10, 0, dcb); //是否用指定字元替換校驗錯的字元
setdcbflag(11, 0, dcb); //保留null字元
setdcbflag(12, 0, dcb); //允許rts流量控制
setdcbflag(14, 0, dcb); //傳送錯誤後,繼續進行下面的讀寫操作
//--------------------------------
dcb.wreserved = 0; //沒有使用,必須為0
dcb.xonlim = 0; //指定在xoff字元傳送之前接收到緩衝區中可允許的最小位元組數
dcb.xofflim = 0; //指定在xoff字元傳送之前緩衝區中可允許的最小可用位元組數
dcb.xonchar = 0; //傳送和接收的xon字元
dcb.xoffchar = 0; //傳送和接收的xoff字元
dcb.errorchar = 0; //代替接收到奇偶校驗錯誤的字元
dcb.eofchar = 0; //用來表示資料的結束
dcb.evtchar = 0; //事件字元,接收到此字元時,會產生乙個事件
dcb.wreserved1 = 0; //沒有使用
if (!setcommstate(hcomm, ref dcb))
opened = true;
return 0;
}///
///關閉串列埠,結束通訊
///public void close()
}///
///讀取串列埠返回的資料
//////資料長度
public void write(byte writebytes)}}
串列埠操作類
using system using system.collections.generic using system.linq using system.text using system.io.ports namespace communicationcomm region 傳送接收資料 publ...
C 串列埠操作類
最近由於工作需要,在研究串列埠通訊的問題,下面分享一下關於串列埠的乙個操作類,有不足之處,希望大家一起提出改善。using system using system.collections.generic using system.text using system.io.ports public c...
C 串列埠操作實用類
做工業通訊有很長時間了,特別是串列埠 232 485 有vb vc c各種版本的串列埠操作 這些 也經過了多年的現場考驗,應該說是比較健壯的 但是目前卻沒有c 相對成熟的串列埠操作 最近用moxa的裝置開發基於wince5.0的串列埠操作 所以就擴充完善了一下串列埠操作,特別是sendcommand...