freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

2串口設(shè)備數(shù)據(jù)的接收和處理(已修改)

2025-03-06 18:23 本頁面
 

【正文】 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 3 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 學(xué)習(xí)要點 : SerialPort類實例的構(gòu)造,接收串口數(shù)據(jù)的方法,接收超時異常處理, HSDZC電能綜合測試儀的數(shù)據(jù)格式,數(shù)據(jù)幀片段的緩存方法 :應(yīng)用程序項目和 SerialPort對象的創(chuàng)建,串口數(shù)據(jù)接收,接收數(shù)據(jù)的緩存和數(shù)據(jù)幀的提取 任務(wù)描述 某些串口設(shè)備能夠定時、主動地向上位機發(fā)送數(shù)據(jù),處于上位機端的工業(yè)控制程序,需要獲取串口收到的數(shù)據(jù)并進行分析和處理。利用.NET Framework SerialPort類可以比較方便地在 C應(yīng)用程序中實現(xiàn)串口通信功能。從編程的角度看,串口數(shù)據(jù)的接收就是利用 SerialPort對象的 Read或 ReadByte方法將操作系統(tǒng)存放在串口輸入緩沖區(qū)中的數(shù)據(jù)讀入到一個字節(jié)數(shù)組中。 該教學(xué)情景通過串口數(shù)據(jù)接收、接收數(shù)據(jù)的緩存、數(shù)據(jù)幀的提取、浮點數(shù)解碼這幾個實施步驟,達到使用 SerialPort對象接收單個串口設(shè)備(下位機)數(shù)據(jù)的目的 。 4 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 相關(guān)知識 1 SerialPort類實例的構(gòu)造 SerialPort類是從 .NET Framework ,該類包含在 ,使用該類的實例可以打開串口,并發(fā)送數(shù)據(jù)。 通過構(gòu)造函數(shù)可以產(chǎn)生 SerialPort類的實例, SerialPort類的構(gòu)造函數(shù)在定義時進行了重載,表 : 表 SerialPort類的構(gòu)造函數(shù)定義 表 SerialPort類的構(gòu)造函數(shù)定義 構(gòu)造函數(shù)的接口定義 功能說明 public SerialPort()。 使用默認屬性值創(chuàng)建 SerialPort類的新實例,其中數(shù)據(jù)位數(shù)的默認值為 8,校驗位的默認值為 None,停止位的默認值為 1,默認端口名稱為 COM1。 5 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 public SerialPort(string portName)。 使用指定的端口名稱初始化 SerialPort 類的新實例,其它參數(shù)采用默認值 public SerialPort(string portName, int baudRate)。 使用指定的端口名稱和波特率初始化 SerialPort 類的新實例,其它參數(shù)采用默認值 public SerialPort(string portName, int baudRate, Parity parity)。 使用指定的端口名稱、波特率和奇偶校驗位初始化 SerialPort 類的新實例,其它參數(shù)采用默認值 public SerialPort(string portName, int baudRate, Parity parity, int dataBits)。 使用指定的端口名稱、波特率、校驗位和數(shù)據(jù)位初始化 SerialPort 類的新實例,其它參數(shù)采用默認值 public SerialPort(string portName, int baudRate, Parity parity, int dataBits, StopBits stopBits)。 使用指定的端口名稱、波特率、奇偶校驗位、數(shù)據(jù)位和停止位初始化 SerialPort 類的新實例 6 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 除了在構(gòu)造 SerialPort類實例的時候可以對端口名稱、波特率、奇偶校驗位、數(shù)據(jù)位和停止位進行設(shè)置外,構(gòu)造好 SerialPort類實例后,還可以通過 PortName、 BaudRate、 Parity、 DataBits、 StopBits屬性對這些參數(shù)進行修改,因此構(gòu)造 SerialPort類實例的程序書寫形式比較靈活。 2 串口的打開和關(guān)閉 SerialPort類中與串口打開和關(guān)閉相關(guān)的成員如下: (1)Open方法 Open方法打開新的串口連接,該方法不帶參數(shù),接口定義如下: public void Open() (2)Close方法 Close方法關(guān)閉已經(jīng)打開的串口連接,該方法不帶參數(shù),接口定義如下: public void Close() 7 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 (3)IsOpen屬性 通過 IsOpen屬性可以獲知串口當前是否為打開狀態(tài),返回一個 bool類型的值,該屬性只讀,接口定義如下: public bool IsOpen { get。 } 串口不能重復(fù)進行打開和關(guān)閉操作,在打開或關(guān)閉串口前,都要使用該屬性檢查串口是否已經(jīng)處于打開或已經(jīng)處于關(guān)閉狀態(tài),以免引發(fā)異常。 3 接收串口數(shù)據(jù)的方法 (1)ReadByte方法 SerialPort類的 ReadByte方法可以從串口接收緩沖區(qū)中讀取一個字節(jié),該方 法的接口定義是: public int ReadByte()。 該方法從串口接收緩沖區(qū)中讀取一個字節(jié) , 要和 ReadTimeout屬性配合使用。 當調(diào)用 ReadByte方法時 , 如果接收緩沖區(qū)中沒有數(shù)據(jù) , 則程序被阻塞 , 直到緩沖區(qū)中有數(shù)據(jù)或到達 ReadTimeout屬性指定讀取數(shù)據(jù)超時的毫秒數(shù) , 程序才能繼續(xù)運行 。 8 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 ReadByte方法返回一個 int類型的值,在實際應(yīng)用時,要將返回值強制轉(zhuǎn)換為 byte類型。 (2)Read方法 Read方法從串口接收緩沖區(qū)中讀取多個字節(jié),該方法的接口定義是: public int Read(byte[] buffer, int offset, int count)。 該方法試圖從接收緩沖區(qū)中讀取 count個字節(jié),并寫入字節(jié)數(shù)組buffer中,寫入的起始位置是 offset,執(zhí)行后返回實際讀取的字節(jié)數(shù)。例如,現(xiàn)在接收緩沖區(qū)中只有 6個字節(jié),但 count參數(shù)值為 10,則返回值為 6。 在實際應(yīng)用時,通常先通過 SerialPort對象的 BytesToRead屬性獲得接收緩沖區(qū)中已有的字節(jié)數(shù),并根據(jù)該屬性值來設(shè)置 count參數(shù)。 和 ReadByte方法不同的是,調(diào)用 Read方法時,不管接收緩沖區(qū)中有無數(shù)據(jù),都不會對應(yīng)用程序的當前線程造成阻塞。 9 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 4 接收超時異常處理 當使用 ReadByte方
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1