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

2021-03-04 01:14:31 字數 2368 閱讀 8491

// c#非同步資料接收串列埠操作類

//using system;

using

////// (c)2003-2005 c2217 studio 保留所有權利

////// 檔名稱: ibmsserialport.cs

/// 檔案id:

/// 檔案說明:

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

/// 串列埠非同步接收和傳送資料的功能。

////// 當前版本: 1.0

////// 作者: 鄧楊均

/// 建立日期: 2005-2-2

/// 最後修改日期: 2005-2-2

////// 歷史修改記錄:

//////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 );

if( (intptr)0 == porthandle )

//註冊函式指標

ibms_setfunchandle( porthandle, _handledatafunc );

openstatus = true;

} ///

/// 關閉串列埠

///public void close()

openstatus = false;

} ///

/// 傳送資料

////// 資料內容

/// 丟擲應用程式異常,包換錯誤描述

public void senddata( byte data )

if( !ibms_senddata( porthandle, data, data.length ) ) }

////// 處理接收到的串列埠資料

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

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

unsafe protected void ondllrecvdata(intptr punhandledata, int ndatasize)

//激發事件

onrecvdata( this, new sprecvdataargs(data) );

} #endregion

#region 定義屬性

////// 返回當前的串口號

///public int port }

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

///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 } }

使用串列埠UART0接收上位機傳送的資料

modified by modified date version descriptions 檔名 main.c 功能 使用串列埠uart0接收上位機傳送的資料,並將資料原封不動地傳送回上位機。說明 通訊波特率115200,8位資料位,1位停止位,無奇偶校驗。include config.h inc...

接收資料報為

網絡卡資料報為0時,有些原因是 突然停電的緣故,所以需要重插主機電源線,重插網線。1。網絡卡灰塵或重插下 2。收到的包為0的情況是由於物理連線不通引起,你可以ping 127.0.0.1檢測網絡卡是否有故障,通則正常 3。你的網線 水晶頭或者交換機 交換機到客戶機網路斷開存在故障,請仔細檢查桌面交換...

STM32串列埠中斷接收方式詳細比較

本例程通過pc機的串列埠除錯助手將資料傳送至stm32,接收資料後將所接收的資料又傳送至pc機,具體下面詳談。例項一 void usart1 irqhandler u8 getdata 這是最基本的,將資料接收完成後又傳送出去,接收和傳送在中斷函式裡執行,main函式裡無其他要處理的。優點 簡單,適...