C 非同步資料接收串列埠操作類

2021-03-31 16:10:10 字數 1873 閱讀 9788

使用c#呼叫傳統32位api實現串列埠操作,整個結構特別的簡單。接收資料只需要定義資料接收事件即可。

上傳源**我不會,需要源**的請與我(

dyj057@gmail.***

)聯絡。你也可以教我怎麼上傳源**。

using system;

using system.runtime.interopservices;

namespace ibms.tool.io

this.recvdata = recvdata;

}///

/// 返回接收到的資料內容

///

public byte recvdata}}

///

/// 封裝動態鏈結庫ibmsserialport.dll的功能,提供在.***環境中非同步

/// 串列埠接收和傳送功能。特別實現的是非同步通過訊號自動接收資料的模式。

///

public class ibmsserialport:idisposable

;#endregion

#endregion 

#region 定義方法

///

/// 建構函式

///

public ibmsserialport()

///

/// 開啟串列埠

///

/// 串口號

/// 波特率

public void open(int nport, standerdrate nrate)

port = nport;

rate = nrate;

porthandle = ibms_openport( port, (int)rate );

openstatus = true;

///

/// 關閉串列埠

///

public void close()

///

/// 傳送資料

///

/// 資料內容

/// 串列埠資料接收緩衝區首位址

/// 資料大小,一般資料大小不超過2k

unsafe protected void ondllrecvdata(intptr punhandledata, int ndatasize)

}///

/// 返回當前串列埠的波特率

///

public standerdrate rate

}///

/// 返回當前串列埠的狀態

///

public bool openstatus

}#endregion

#region 非託管資源的及時釋放

///

/// 因為包含了非託管的資源(占用系統串列埠),必須實現idisposable介面

/// 在使用完該類的時候,必須記得呼叫dispose(),**系統資源

///

///

/// 方法1

///

///

/// 方法2

/// using( serialport port = new serialport())

///

/// 變數超出作用域時會自動呼叫其dispose()方法

///

///

///

~ibmsserialport()

protected virtual void dispose( bool disposing )

//清理非託管的資源

close();

}#region idisposable 成員

public void dispose()

#endregion

#endregion}}

C 非同步資料接收串列埠操作類

使用c 呼叫傳統32位api實現串列埠操作,整個結構特別的簡單。接收資料只需要定義資料接收事件即可。using system using system.runtime.interopservices namespace ibms.tool.io this.recvdata recvdata 返回接收...

TcpClient類非同步接收資料

tcpclient傳送資料流程例項 tcpclient為基於socket構建的用來進行tcp通訊的簡單類,主要用於tcp客戶端的編寫,可以使用同步或者非同步。傳送接收資料用networkstream。很多東西摘錄自msdn 名稱 說明tcpclient 初始化 tcpclient 類的新例項。tcp...

C 串列埠操作類

最近由於工作需要,在研究串列埠通訊的問題,下面分享一下關於串列埠的乙個操作類,有不足之處,希望大家一起提出改善。using system using system.collections.generic using system.text using system.io.ports public c...