// 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函式裡無其他要處理的。優點 簡單,適...