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

正文內(nèi)容

2串口設(shè)備數(shù)據(jù)的接收和處理-預(yù)覽頁

2025-03-14 18:23 上一頁面

下一頁面
 

【正文】 StopBits stopBits)。 3 接收串口數(shù)據(jù)的方法 (1)ReadByte方法 SerialPort類的 ReadByte方法可以從串口接收緩沖區(qū)中讀取一個字節(jié),該方 法的接口定義是: public int ReadByte()。 (2)Read方法 Read方法從串口接收緩沖區(qū)中讀取多個字節(jié),該方法的接口定義是: public int Read(byte[] buffer, int offset, int count)。 和 ReadByte方法不同的是,調(diào)用 Read方法時,不管接收緩沖區(qū)中有無數(shù)據(jù),都不會對應(yīng)用程序的當(dāng)前線程造成阻塞。 ()。 //顯示在文本框 t1中 } catch (TimeoutException ex) //捕獲到接收超時異常 { = 。 若上位機程序要一直等待,可以把 ReadTimeout屬性的值設(shè)置為1,但在實際應(yīng)用中一般不這樣做。信號格式:開始 4字節(jié)均為 FFH,后續(xù)每三個字節(jié)構(gòu)成一個浮點數(shù)值,分別表示 I U I U I U3,以及功率因數(shù)、視在功率、效率、輸入功率、無功功率、負(fù)載率、輸出功率、轉(zhuǎn)速,共 14個數(shù)據(jù)。下面的相關(guān)知識將進(jìn)一步介紹對已接收到數(shù)據(jù)的存儲和處理方法。 if ((B3 0x80) != 0) //如果 D7為 1,等價于 if(B3=128) { B = B。 } else n = B3。例如,在和 HSDZC電能綜合測試儀進(jìn)行通信時,如果測試儀工作在測量方式 1,則一幀數(shù)據(jù)的長度為 46個字節(jié)(包含起始標(biāo)志和 14個數(shù)值)。List類支持泛型,在存取 byte類型的集合元素時無需進(jìn)行“裝箱”和“拆箱”操作,比使用 ArrayList效率高。 //創(chuàng)建 List類的實例 li,元素類型為 byte 表 List類的常用方法 方法的接口定義 功能說明 示 例 public void Add(T item)。 public void Insert(int index, T item)。 public void RemoveRange(int index, int count)。 17 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 public T this[int index] { get。 public int IndexOf(T item)。 public int LastIndexOf(T item)。 18 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 (2)集合大小的設(shè)置 為了保證集合中任何時候能容納一個完整的數(shù)據(jù)幀,集合中能容納的字節(jié)數(shù)量應(yīng)為數(shù)據(jù)幀長度的兩倍。由于 SerialPort是不可見組件,所以不直接出現(xiàn)在窗體上,而是出現(xiàn)在窗口下方,如圖。 21 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 (2)編寫代碼創(chuàng)建 SerialPort對象 切換到代碼視圖,在 SerialPort對象。 sp = new SerialPort()。如果在 10秒內(nèi)接收到數(shù)據(jù),則將接收到的數(shù)據(jù)以十六進(jìn)制方式顯示在文本框中,否則在文本框中顯示“操作超時”異常提示。 ()。 = 10000。 (tmp, 1, 1)。 for (int i = 0。 } } 28 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 該程序在點擊“開始接收”按鈕后會停止對用戶輸入的響應(yīng),這是因為調(diào)用 ReadByte方法造成當(dāng)前線程被阻塞,直到下位機發(fā)送的數(shù)據(jù)到達(dá),或接收超時才解除阻塞。 4接收數(shù)據(jù)的緩存和數(shù)據(jù)幀的提取 (1)創(chuàng)建數(shù)據(jù)接收隊列 CRecvBuf是一個用于緩存接收數(shù)據(jù)的類,利用 List類來實現(xiàn)。 public int maxLength。 (b)。上位機采用 3個步驟處理接收數(shù)據(jù):第 1步接收到下位機發(fā)送的數(shù)據(jù);第 2步將接收的數(shù)據(jù)添加到隊列中;第 3步從隊列中根據(jù)起始標(biāo)志和約定數(shù)據(jù)長度提取出一個完整的數(shù)據(jù)幀,后臺代碼如下: private SerialPort sp。 = 10000。 (tmp, 1, 1)。 //提取一個完整的數(shù)據(jù)幀 tmp = getBlock()。 //在 t1文本框中顯示異常信息 } } private void Form1_Load(object sender, EventArgs e) { recvBuf = new CRecvBuf(60)。 } private byte[] getBlock(Listbyte li) { byte[] b = null。 //已經(jīng)找到,接收循環(huán) if (p != 1) //p為數(shù)據(jù)塊的起始位置 35 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 { b = new byte[30]。 36 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 考核要點 考核內(nèi)容 分?jǐn)?shù) 創(chuàng)建應(yīng)用程序項目、創(chuàng)建 SerialPort對象 10% 接收串口測試工具發(fā)送的數(shù)據(jù),并在文本框中顯示 30% 使用串口測試工具模擬 HSDZC電能綜合測試儀發(fā)送數(shù)據(jù),編寫程序接收數(shù)據(jù)、提取數(shù)據(jù)幀、并把解碼后的數(shù)據(jù)顯示在文本框中 60% 37 工控程序設(shè)計 學(xué)習(xí)情景 串口設(shè)備數(shù)據(jù)的接收和處理 能力拓展 SerialPort類要引入什么命名空間,如何創(chuàng)建 SerialPort對象? Read和 ReadByte方法有什么區(qū)別? ? ,該隊列如何實現(xiàn)? ,且完整的數(shù)據(jù)幀? HSDZC電能綜合測試儀的浮點數(shù)編碼格式,在“任務(wù)實施”第 4個步驟的例子中增加一段代碼,將解碼后的 I U P I U P I U P3這 9個浮點數(shù)值顯示在文本框 t3中。 :22:5718:22Mar2317Mar23 ? 1故人江海別,幾度隔山川。 。 , March 17, 2023 ? 很多事情努力了未必有結(jié)果,但是不努力卻什么改變也沒有。 :22:5718:22:57March 17, 2023 ? 1意志堅強的人能把世界放在手中像泥塊一樣任意揉捏。 2023年 3月 17日星期五 6時 22分 57秒 18:22:5717 March 2023 ? 1空山新雨后,天氣晚來秋。 :22:5718:22Mar2317Mar23 ? 1越是無能的人,越喜歡挑剔別人的錯兒。 2023年 3月 17日星期五 下午 6時 22分 57秒 18:22: ? 1最具挑戰(zhàn)性的挑戰(zhàn)莫過于提升自
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1