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

正文內(nèi)容

labview串口通信解析-在線瀏覽

2025-03-03 22:04本頁面
  

【正文】 個輸入端,這二個輸入端是相互作用的,“終止符”默認值為10,它* ~ k) Z( a t x( z3 A9 f* D x( i的十六進制是“0x0A”,這是一個ASCII碼,是一個換行符,可以從LabVIEW中的字符串的不同顯示形式看出來,如下圖:。 D! ] x。 J x 圖2 串口消息終止符5 \, a, uamp。 q 左邊是字符串的正常顯示,中間是十六進制顯示,右邊是“\代碼顯示”,這三個字符串的值都是一樣的。 K4 ?9 \) j \7 ]0 p( C$ G。, z1 z6 |% n) 39。 V3 s8 v$ Z39。終止符是10,表示在接收數(shù)據(jù)時,遇到ASCII碼為10的字符(即換行7 |8 j。`3 t39。 z1 c“123456”,可以看到接收回來的數(shù)據(jù)中只有“12”,即“3”被認為是字符串的未端了,它后面的數(shù)據(jù)就不再接收了。 U. ]/ A q( ^這里設(shè)置錯誤,導(dǎo)致接收數(shù)據(jù)時有時候只收到一半就沒有了,特別是在連續(xù)接收數(shù)據(jù)時,但又不是每次都只能收到一半,有時候也能接收齊全: v1 U0 K4 s l2 }2 G! Y: H) ~* X0 i! u+ t8 i$ i的,就是因為發(fā)送的數(shù)據(jù)中可能包含了終止符而使串口認為到了最后一個字符了。 Z% A9 z% B。% A7 F7 u/ a) P6 u |$ }* EL j39。 M( JH4 ^: k ]39。 R o mamp。 I節(jié)數(shù),如果當前緩沖區(qū)的數(shù)據(jù)量不足100個時,程序會一直停在VISA READ這個節(jié)點上,如果在超時的時間(默認是10秒)內(nèi)還沒有湊足$ B2 h4 q* t3 [. G6 G+ Y, O* H+ E1 \。解3 q5 T。 W1 J9 [節(jié)點串口設(shè)置Bytes at Port,如下圖:2 B |% m6 Gc4 D1 w% y, HX) C1 j+ ^8 {% s8 j39。 C9 x% _ C m6 ? Kamp。 }。 X% l/ 5 h圖 3 Bytes at Port6 eamp。 w N5 U2 m6 o( z, z這個屬性節(jié)點讀取當前串口緩沖區(qū)有字節(jié)數(shù),然后將它的輸出連接到VISA READ的“讀取字節(jié)數(shù)”這個輸入端上即可,這樣當前緩沖區(qū)中有1 f! B) j。 U ]多少個字節(jié)就讀回多少個,不會有任何等待。 j7 }39。 W. 39。 T5,在LabVIEW中使用串口4 A8 P ~. N$ ^。 Ku$ \% ]$ z39。 y作出響應(yīng),返回數(shù)據(jù)給上位機,上位機再讀取出來,完成一次通信,即一問一答;另一類是被動接收形的,即下位機會一直發(fā)送數(shù)據(jù)上來。 ?4 n h/ u z* [ `39。 C) _( V6 |6 r [6 ?6 y6 Z。 e, k$ [+ J: Bamp。 b1 ] 儀器控制類型t3 e( p3 i1 Q0 `8 N. i2 B8 v! q2 W+ tamp。 以儀器控制為例來說一下需要注意的事項。 現(xiàn)在的儀器一般都至少有二種通信模式,一種是RS232,一種是GPIB,如果儀器是9 R+ l _39。 l8 \0 n6 d+ R `, F7 s M7 ~設(shè)置為GPIB通信的話,RS232是不可能通信上的,所以要先確認一下,方法一般是在儀器面板上選擇設(shè)置遠程控制GPIB/RS232,各39。 c/ S) G/ | {7 |% M3 u* D5 g k+ G1 g( j9 |個儀器稍微不同,可以查儀器手冊看一下。 `amp。 \% x! J0 u/ E 然后就是確認串口的通信參數(shù)的配置,包括波特率、數(shù)據(jù)長度、校驗方法等,有些儀器的某些參數(shù)是固定的,比如校驗方法固定為奇校) f) Y T。波特率一般是可以修改的。如果參數(shù)設(shè)7 i3 e% V! D6 N/ q, {39。只有電腦和儀器二39。 L* u1 q3 w4 }( s+ J7 Q! Y* u邊的串口參數(shù)完全一致時才能收到正確的數(shù)據(jù)。 l S。 j. T/ [) U! w* E 接著是要注意發(fā)送指令和讀回數(shù)據(jù)之間要有一定的延時,即VISA WRITE和VISA READ之間要有一定的延時,一般200毫秒即可,因為. ]39。 J D4 c xamp。在調(diào)試時如果發(fā)現(xiàn)正常運行時不能收到數(shù)據(jù),但高亮運行就能收到數(shù)據(jù),就很有可能是沒有加延時的原0 Q$ d/ J( E* i4 U J, v% P2 z% [: \6 k! E J因,或者是發(fā)一個查詢指令,但返回的是上一條查詢指令的結(jié)果,也可能是因為沒有延時或延時不夠。 g2 A c+ y8 j1 k) j, q+ Q, H% \( C: N. D。 T) g/ T( h( `7 w: ju! W0 n6 `d) |9 P7 G7 _* ?, p Y9 `) H0 H) j, F! o. I5 C被動接收形的串口通信稍微麻煩一點,由于上位機是被動接收的,上位機不知道什么時候開始下位機就已經(jīng)有數(shù)據(jù)上來了,很有可能下 ?: Namp。 X) ?, v位機發(fā)送到一半時,上位機剛好開始接收數(shù)據(jù),這時只能接收到后面一半的數(shù)據(jù)了,所以對于這種通信,一般是采用數(shù)據(jù)幀的方式進行通信。 幀頭是為了告訴( e$ c U) w. S. \+ C8 L5 eW2 X* T9 i上位機:從這以后的數(shù)據(jù)就是有用的數(shù)據(jù)了,相當于約定好的暗號,一般幀頭至少會用二個以上字節(jié),如果只用一個字節(jié)的話,萬一數(shù)據(jù)中的amp。 { p+ ^4 I4 p8 x3 f* y6 H/ f( L a* Y3 l7 p8 P2 I數(shù)據(jù)跟這個幀頭一樣了就會誤以為這個數(shù)據(jù)是幀頭從而導(dǎo)致解析數(shù)據(jù)出錯,幀尾的作用也差不多,告訴上位機從這之前的數(shù)據(jù)才是有用的數(shù): ] L/ N3 a6 P: j5 C6 p1 y, `amp。 n% f0 l! Tu) T3 b據(jù)。其中校驗字節(jié)是為了檢查數(shù)) z$ \I1 ~ S39。 x7 Gi0 O5 `. b V$ m o% w7 _+ P。 D2 x j3 b3 C6 K0 f39。amp。 C c1 v 由于被動方式中串口的緩沖區(qū)中一直會有數(shù)據(jù)在,為了保持數(shù)據(jù)的連續(xù)性,在讀取數(shù)據(jù)時跟第一種儀器控制類型不一樣。由于VISA READ的輸出是字符串,所I X3 Z( R7 x, P! _ AZ5 K0 {+ }0 \2 E* D: z以一般使用“連接字符串”這個函數(shù)將它們連接起來,然后接到循環(huán)結(jié)構(gòu)中的移位寄存器中進行保存,當移位寄存器中的數(shù)據(jù)量達到一定時或1 R: _7 b, f) t: t* c$ [/ K, y5 i) [ q滿足數(shù)據(jù)處理的條件時,才停止這個循環(huán)輸出讀取到的數(shù)據(jù)。 5 ]* E2 Y。 * U1 O/ n) d, B8 o! T. A) _1 o7 }7 F1 a, Z4 n 下面以例子來說明數(shù)據(jù)幀格式的通信。 Z1 [39。 K r7 samp。 A! U 設(shè)定通信數(shù)據(jù)幀每7個字節(jié)為一幀數(shù)據(jù),其中以0xAC、0x96二個字節(jié)作為數(shù)據(jù)幀頭,第三、四個幀頭為幀計數(shù)器,最大值為0xFFFF,到amp。 {* g。 Z. r L S: ~2 {8 e. l。9 j5 g* i. Tamp。 A) { v0 j. z% t4 E. M6 E+ T( k. [3 u0 P$ h) CO3 \組”這個函數(shù),如下圖所示:: W X。 f39。 Iamp。 e. T0 U1 H39。 ` Y! T$ | K: J, O( P( k1 G5 C+ ?4 _1 ?對照定義的數(shù)據(jù)幀格式,就很容易得到我們需要的數(shù)據(jù)了。 B 首先是要看從哪里開始才是完整的第一幀,從上面十六進制顯示的數(shù)組中我們可以看到,并不是第一個字節(jié)就是我們需要的幀頭,因為下2 T) l0 Y5 [( v。 3 o/ n/ Y. l E1 i
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1