使用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...