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

正文內(nèi)容

2串口設(shè)備數(shù)據(jù)的接收和處理-在線瀏覽

2025-03-30 18:23本頁面
  

【正文】 tByte = (byte)()。 //顯示在文本框 t1中 } catch (TimeoutException ex) //捕獲到接收超時異常 { = 。為了有足夠操作時間, SerialPort對象 sp的 ReadTimeout屬性為 10000毫秒( 10秒)。 若上位機程序要一直等待,可以把 ReadTimeout屬性的值設(shè)置為1,但在實際應(yīng)用中一般不這樣做。該設(shè)備提供兩種電腦測量方式,在儀表提示“測量方式”時,可以分別按“顯示 1” 和“顯示 2” 進入。信號格式:開始 4字節(jié)均為 FFH,后續(xù)每三個字節(jié)構(gòu)成一個浮點數(shù)值,分別表示 I U I U I U3,以及功率因數(shù)、視在功率、效率、輸入功率、無功功率、負載率、輸出功率、轉(zhuǎn)速,共 14個數(shù)據(jù)。信號格式:開始 3字節(jié)均為 12H、 34H、 56H,后續(xù)每三個字節(jié)構(gòu)成一個浮點數(shù)值,分別表示 I U P I U P IU P3,共 9個數(shù)據(jù)。下面的相關(guān)知識將進一步介紹對已接收到數(shù)據(jù)的存儲和處理方法。其中階碼指數(shù)各位的含義如表: 表 階碼指數(shù)字節(jié)中各位的含義 D7 D6 D5D0 數(shù)值符號: 0為正,1為負 階碼符號: 0為正,1為負 階碼數(shù)值 13 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 尾數(shù) B的值在 0到 1之間,計算公式是: 下面的 HexToFloat函數(shù)描述了將 3個字節(jié)轉(zhuǎn)換為浮點數(shù)的算法: private float HexToFloat(byte B1, byte B2, byte B3) { float f, B, n。 if ((B3 0x80) != 0) //如果 D7為 1,等價于 if(B3=128) { B = B。 //等價于 B3=(byte)(B3128) if ((B3 0x40) != 0) //如果 D6為 1 { B3 = (byte)(B3 0xBF)。 } else n = B3。 //B乘以 2的 n次方 return f。例如,在和 HSDZC電能綜合測試儀進行通信時,如果測試儀工作在測量方式 1,則一幀數(shù)據(jù)的長度為 46個字節(jié)(包含起始標(biāo)志和 14個數(shù)值)。上位機必須提供一個字節(jié)的集合來對接收到的數(shù)據(jù)進行緩存(暫存),在確認接收完畢一幀數(shù)據(jù)后,再進行進一步的分析和處理。List類支持泛型,在存取 byte類型的集合元素時無需進行“裝箱”和“拆箱”操作,比使用 ArrayList效率高。 byte[] ba。 //創(chuàng)建 List類的實例 li,元素類型為 byte 表 List類的常用方法 方法的接口定義 功能說明 示 例 public void Add(T item)。 16 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 public void AddRange( IEnumerableT collection)。 public void Insert(int index, T item)。 在 index位置插入另一個集合collection (0,ba) public void RemoveAt(int index)。 public void RemoveRange(int index, int count)。 public void Clear()。 17 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 public T this[int index] { get。 } 獲取或設(shè)置下標(biāo)為 index的元素值 li[3]=b。 public int IndexOf(T item)。 public int IndexOf(T item, int index)。 public int LastIndexOf(T item)。 public int LastIndexOf (T item, int index)。 18 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 (2)集合大小的設(shè)置 為了保證集合中任何時候能容納一個完整的數(shù)據(jù)幀,集合中能容納的字節(jié)數(shù)量應(yīng)為數(shù)據(jù)幀長度的兩倍。圖 : L隊列總?cè)萘? N原有字節(jié)數(shù) M新接收字節(jié)數(shù) ( 1)隊列剩余空間能容納新接收數(shù)據(jù) L隊列總?cè)萘? N原有字節(jié)數(shù) M新接收字節(jié)數(shù) ( 2)隊列剩余空間能容納新接收數(shù)據(jù) 圖 新接收數(shù)據(jù)的緩存 N剩 剩剩 剩ML 隊 首 隊 尾L MM + N L M隊 首 隊 尾入 隊 前入 隊 后 L新 接 收 數(shù) 據(jù)19 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 任務(wù)實施 1應(yīng)用程序項目的創(chuàng)建 串口通信應(yīng)用程序的開發(fā)在 Visual Studio集成開發(fā)環(huán)境中進行,首先創(chuàng)建一個基于 C語言的“ Windows應(yīng)用程序”項目,名為“ ReceiveData”,并存放在工作目錄“ F:\SerialPort”下,如圖 示: 20 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 2 SerialPort對象的創(chuàng)建 創(chuàng)建 SerialPort對象可以通過添加控件和編寫代碼兩種方式,添加控件的方式相對簡單,適合初學(xué)者練習(xí);編寫代碼的方式具有較強的靈活性,可以把 SerialPort對象對串口的操作細節(jié)隱藏起來,與數(shù)據(jù)編碼、解碼等功能一起封裝為一個功能完整的串口通信模塊。由于 SerialPort是不可見組件,所以不直接出現(xiàn)在窗體上,而是出現(xiàn)在窗口下方,如圖。 = new ()。 21 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 (2)編寫代碼創(chuàng)建 SerialPort對象 切換到代碼視圖,在 SerialPort對象。 然后定義 SerialPort類的對象 sp,作為 Form1類的私有成員: private SerialPort sp。 sp = new SerialPort()。如果項目代碼量大
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1